Example #1
0
    public void OnAddUnitSlot(UnitSlot slot)
    {
        bool         alreadyInTransfer;
        GarrisonMenu menu    = (GarrisonMenu)Utility.GetFirstComponentInParents(gameObject, typeof(GarrisonMenu));
        Unit         newUnit = slot.unit;

        if (slot.CurrentCommander != commander)
        {
            menu.AddUnitSlotToTransfer(slot, out alreadyInTransfer);
        }

        slot.MoveToCommander(commander);
        commander.AddUnit(newUnit);

        SetTroopsList();
    }
Example #2
0
    public void SetTroopsList()
    {
        ClearTroopsList();
        if (commander.Units == null)
        {
            return;
        }
        units     = commander.Units;
        unitSlots = new List <UnitSlot>();

        foreach (Unit unit in units)
        {
            GameObject slot  = Instantiate(unitSlot, content.transform);
            UnitSlot   uSlot = slot.GetComponent <UnitSlot>();
            uSlot.SetData(unit);
            uSlot.MoveToCommander(commander);
            if (GarrisonMenu.Instance.IsInTransfer(unit, commander))
            {
                uSlot.draggableImage.SetMovedColor();
            }
            unitSlots.Add(uSlot);
        }
        recruitButton.transform.SetAsLastSibling();
    }