Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    public void HandleTurnEnd()
    {
        foreach (var town in _Towns)
        {
            town.HandleTurnEnd(this);
        }

        _Tree.HandleTurnEnd(this, null);
    }