角色属性设计分析
目前数据库有两张表与角色属性有关heroinfo 和 userinfo
heroinfo
存放英雄的初始属性,和growth(升级后增加值),如英雄2级了总血量就是
hp + 2 * hp_growth
userinfo
存放英雄的当前属性,即所有属性影响的最终结果
影响角色属性的外因
可以看出主脚的属性其实就是各种状态的计算结果,从图可以看出其实就是一个树状结构,主角就是树的根,于是我用组合模式简单实验了一下。
类图
Attribute 为虚类,主要方法就是Caculate,通过递归计算总属性(这里是hpTotal和mpTotal)
public abstract class Attribute
{
public int Hp { get; set; }
public int Mp { get; set; }
public int HpTotal { get; set; }
public int MpTotal { get; set; }
private Attribute m_Parent;
private string m_Name;
public Attribute(int hp, int mp)
{
this.Hp