public void HandleTurnEnd(Region region) { _BuildingTree.HandleTurnEnd(region, this); if (_RecruitmentQueue.Count > 0) { var newDivisions = new Dictionary <string, GC_Division>(); int nrRecruitsDone = _RecruitsPerTurn[0]; for (int i = 0; i < nrRecruitsDone; i++) { var unit = _RecruitmentQueue.Dequeue(); Player.Instance.AddUnit(unit.Name); if (!newDivisions.ContainsKey(unit.Name)) { newDivisions[unit.Name] = new GC_Division(); } newDivisions[unit.Name].AddUnit(unit); } foreach (var div in newDivisions) { _Garrison.AddDivision(div.Value); } for (int i = 1; i < _RecruitsPerTurn.Count; i++) { _RecruitsPerTurn[i - 1] = _RecruitsPerTurn[i]; } _RecruitsPerTurn.RemoveAt(_RecruitsPerTurn.Count - 1); } }
public void HandleTurnEnd() { foreach (var town in _Towns) { town.HandleTurnEnd(this); } _Tree.HandleTurnEnd(this, null); }