public Stat Add(StatType type, float baseValue, bool isDynamic) { Stat stat = null; if (isDynamic) stat = new DynamicStat(type, baseValue); else stat = new Stat(type, baseValue); stats.Add(stat.Type, stat); return stat; }
protected virtual void InitStats(FigureData data) { reds = statHolder.Add(StatType.Red, 0, false); greens = statHolder.Add(StatType.Green, 0, false); blues = statHolder.Add(StatType.Blue, 0, false); mass = statHolder.Add(StatType.Mass, 10, false); hp = (DynamicStat)statHolder.Add(StatType.HealthPoints, data.baseHP, true); ap = (DynamicStat)statHolder.Add(StatType.ActionPoints, data.actionPoints, true); ; maxDamage = statHolder.Add(StatType.MaxDamage, data.damage, false); minDamage = statHolder.Add(StatType.MinDamage, 0, false); initiative = statHolder.Add(StatType.Initiative, data.initiative, false); statHolder.InitializeDependencies(); RDamage = new Range(() => minDamage.Value, () => maxDamage); }