Beispiel #1
0
    void DrawMenuGeneral(List <string> listToDraw)
    {
        //return all to the pool
        oldSlots.AddRange(simpleMenuDisplay.menuSlots);
        foreach (var s in oldSlots)
        {
            s.gameObject.SetActive(false);
        }
        simpleMenuDisplay.menuSlots.Clear();

        Vector3 firstSlotPos   = slotTemplate.transform.position;
        Vector3 offsetByAmount = new Vector3(0, spacing, 0f);

        slotTemplate.gameObject.SetActive(false); //MAKE SURE SLOT TEMPLATE IS NOT PART OF THE MENU SLOTS< OR THE INITIAL POSITION WILL JUMP!
        for (int i = 0; i < listToDraw.Count; i++)
        {
            SimpleMenuSlot slotGFX = CreateOrRecycleSlot();
            slotGFX.transform.parent   = slotTemplate.transform.parent;
            slotGFX.transform.position = firstSlotPos + (offsetByAmount * i);

            simpleMenuDisplay.menuSlots.Add(slotGFX);
            slotGFX.GetComponent <TextMeshProUGUI>().SetText(listToDraw[i]);
            slotGFX.gameObject.SetActive(true);
        }
        simpleMenuDisplay.gameObject.SetActive(true);
    }
Beispiel #2
0
    SimpleMenuSlot CreateOrRecycleSlot()
    {
        SimpleMenuSlot nSlot = null;

        if (oldSlots.Count > 0)
        {
            nSlot = oldSlots[0];
            oldSlots.Remove(nSlot);
            return(nSlot);
        }

        nSlot = Instantiate(slotTemplate) as SimpleMenuSlot;
        return(nSlot);
    }