private void Start() { GC_Army army = new GC_Army(); if (gameObject.CompareTag("Town")) { var town = GetComponent <Town>(); army = town.GetGarrison(); } else if (gameObject.CompareTag("Army")) { if (GetComponent <OverworldArmy>().Army == null) { GetComponent <OverworldArmy>().Army = new GC_Army(); } army = GetComponent <OverworldArmy>().Army; } foreach (var data in _Units) { var div = new GC_Division(); for (int i = 0; i < data.Value; i++) { var unit = new GC_Unit(); unit.Name = data.Key; unit.GenerateStats(UnitDatabase.Instance.GetUnit(data.Key).Stats); div.AddUnit(unit); } army.AddDivision(div); } }
public void Recruit(UnitData unitData) { var unit = new GC_Unit(); unit.Name = unitData.Name; unit.GenerateStats(unitData.Stats); _RecruitmentQueue.Enqueue(unit); if (_RecruitsPerTurn.Count == 0 || _RecruitsPerTurn[_RecruitsPerTurn.Count - 1] == MaxRecruits) { _RecruitsPerTurn.Add(0); } _RecruitsPerTurn[_RecruitsPerTurn.Count - 1]++; }