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