public void AddNewUnit(LegionUnit Unit)
 {
     LegionUnits.Add(Unit);
 }
示例#2
0
 public void AddNewUnit(LegionUnit Unit)
 {
     LegionUnits.Add(Unit);
 }
示例#3
0
        public List <LegionUnit> GetUnits(LegionDatabase Database)
        {
            this.Process();

            List <LegionUnit> Units = new List <LegionUnit>();

            if (UnitName != null)
            {
                for (int i = 0; i < UnitName.Count; ++i)
                {
                    // Create unit
                    LegionUnit Unit = Database.GetUnit(UnitName[i]) ?? new LegionUnit();

                    // Check if unit is an upgrade from a previous one
                    if (!string.IsNullOrWhiteSpace(UpgradesFrom[i]))
                    {
                        foreach (LegionUnit PrevUnit in Units)
                        {
                            if (PrevUnit.UnitName == UpgradesFrom[i])
                            {
                                Unit = PrevUnit.Clone();
                            }
                        }
                    }

                    // Set unit details
                    Unit.UnitName         = UnitName[i];
                    Unit.UpgradesFrom     = UpgradesFrom[i];
                    Unit.GoldCost         = GoldCost[i];
                    Unit.GemsCost         = GemsCost[i];
                    Unit.FoodCost         = FoodCost[i];
                    Unit.Income           = Income[i];
                    Unit.LevelRequired    = LevelRequired[i];
                    Unit.Cooldown         = Cooldown[i];
                    Unit.MoveSpeed        = MoveSpeed[i];
                    Unit.TurnSpeed        = TurnSpeed[i];
                    Unit.Health           = Health[i];
                    Unit.HealthRegen      = HealthRegen[i];
                    Unit.Mana             = Mana[i];
                    Unit.ManaRegen        = ManaRegen[i];
                    Unit.DamageType       = DamageType[i];
                    Unit.DamageMin        = DamageMin[i];
                    Unit.DamageMax        = DamageMax[i];
                    Unit.AttackRate       = AttackRate[i];
                    Unit.AttackCapability = AttackCapability[i];
                    Unit.AttackRange      = AttackRange[i];
                    Unit.ProjectileModel  = ProjectileModel[i];
                    Unit.ProjectileSpeed  = ProjectileSpeed[i];
                    Unit.ArmourType       = ArmourType[i];
                    Unit.Armour           = Armour[i];
                    Unit.MagicResist      = MagicResist[i];
                    Unit.AbilityKey       = AbilityKey[i];
                    Unit.Bounty           = Bounty[i];
                    Unit.UnitModel        = UnitModel[i];
                    Unit.ModelScale       = ModelScale[i];
                    Unit.SpawnIcon        = SpawnIcon[i];
                    Unit.SpawnEffectAOE   = SpawnEffectAOE[i];
                    Unit.WearablesList    = WearablesList[i];
                    Unit.UnitAI           = UnitAI?[i] ?? "";

                    // Add unit to list
                    Units.Add(Unit);
                }
            }

            return(Units);
        }