【发布时间】:2020-01-04 06:45:15
【问题描述】:
对于游戏,我们有一个排名列表,例如默认、mod、jrmod、admin 等。每个排名都存储在数据库中,并包含一些信息,就像它继承的内容和权限一样。每个rank也可以继承另一个,比如admin继承srmod,srmod继承mod,jrmod继承default。这允许在不重复数据的情况下堆叠权限。
问题是当前在加载等级时,会设置用户等级,然后该等级的继承和加载,然后再继承。但是,这意味着权限继承只有 2 层。对于我们上面的示例,admin 继承了 srmod,后者继承了 mod。然后它就停止了。
我不知道可以使用哪种算法来遍历继承线并加载这些权限。这段代码是Java的,每个rank可以有多个继承,例如jrmod继承default和lord rank。
【问题讨论】: