public static String Export(Common.Classes.Unit unit, Common.Classes.HeroClass hero) { StringBuilder b = new StringBuilder(); b.Append(unit.Name); b.Append("\t"); b.Append(hero.Name); b.AppendLine(); Common.UnitStatsValues stats = new Common.UnitStatsValues { UnitClass = unit, HeroClass = hero }; foreach (var f in Enum.GetValues(typeof(Common.UnitStats))) { b.Append(f.ToString()); b.Append("\t"); } foreach (var f in stats.GetType().GetProperties()) { b.Append(f.Name); b.Append("\t"); } for (int i = 0; i < 20; i++) { b.AppendLine(); foreach (var f in Enum.GetValues(typeof(Common.UnitStats))) { b.Append(stats.GetStat((Common.UnitStats)f)); b.Append("\t"); } foreach (var f in stats.GetType().GetProperties()) { b.Append(f.GetValue(stats, null).ToString()); b.Append("\t"); } stats.Bonuses[Common.UnitStats.Level]++; } return b.ToString(); }
protected Unit(Server_ server, String id, Common.Classes.Unit unitClass, Common.Classes.HeroClass heroClass, Vector3 position, float rotation, float scale) : base(server, id, unitClass, position, rotation, scale) { Stats = new Common.UnitStatsValues { UnitClass = unitClass, HeroClass = heroClass }; Stats.Bonuses[Common.UnitStats.HitPoints] = Stats.GetStat(Common.UnitStats.MaxHitPoints); Stats.Bonuses[Common.UnitStats.Mana] = Stats.GetStat(Common.UnitStats.MaxMana); List<AbilitySlot> abs = new List<AbilitySlot>(); foreach (var a in UnitClass.Abilities) abs.Add(new AbilitySlot{ Ability = a }); if(HeroClass != null) foreach (var a in HeroClass.Abilities) abs.Add(new AbilitySlot { Ability = a }); abilities = abs.ToArray(); observers = new Dictionary<string, Unit>(); state = new Normal(this); IsLeveling = true; }