Пример #1
0
 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();
 }
Пример #2
0
        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;
        }