Example #1
0
    private void UpdateVisual()
    {
        // Clear old objects
        foreach (Transform child in transform)
        {
            if (child == abilitySlotTemplate)
            {
                continue;                               // Don't destroy Template
            }
            Destroy(child.gameObject);
        }

        List <HotkeyAbilitySystem.HotkeyAbility> hotkeyAbilityList = hotkeyAbilitySystem.GetHotkeyAbilityList();

        for (int i = 0; i < hotkeyAbilityList.Count; i++)
        {
            HotkeyAbilitySystem.HotkeyAbility hotkeyAbility = hotkeyAbilityList[i];
            Transform abilitySlotTransform = Instantiate(abilitySlotTemplate, transform);
            abilitySlotTransform.gameObject.SetActive(true);
            RectTransform abilitySlotRectTransform = abilitySlotTransform.GetComponent <RectTransform>();
            abilitySlotRectTransform.anchoredPosition = new Vector2(100f * i, 0f);
            abilitySlotTransform.Find("itemImage").GetComponent <Image>().sprite = hotkeyAbility.GetSprite();
            abilitySlotTransform.Find("numberText").GetComponent <TMPro.TextMeshProUGUI>().SetText((i + 1).ToString());

            abilitySlotTransform.GetComponent <UI_HotkeyBarAbilitySlot>().Setup(hotkeyAbilitySystem, i, hotkeyAbility);
        }

        // Set up extras
        hotkeyAbilityList = hotkeyAbilitySystem.GetExtraHotkeyAbilityList();
        for (int i = 0; i < hotkeyAbilityList.Count; i++)
        {
            HotkeyAbilitySystem.HotkeyAbility hotkeyAbility = hotkeyAbilityList[i];
            Transform abilitySlotTransform = Instantiate(abilitySlotTemplate, transform);
            abilitySlotTransform.gameObject.SetActive(true);
            RectTransform abilitySlotRectTransform = abilitySlotTransform.GetComponent <RectTransform>();
            abilitySlotRectTransform.anchoredPosition = new Vector2(600f + 100f * i, 0f);
            abilitySlotTransform.Find("itemImage").GetComponent <Image>().sprite = hotkeyAbility.GetSprite();
            abilitySlotTransform.Find("numberText").GetComponent <TMPro.TextMeshProUGUI>().SetText("");

            abilitySlotTransform.GetComponent <UI_HotkeyBarAbilitySlot>().Setup(hotkeyAbilitySystem, -1, hotkeyAbility);
        }
    }
Example #2
0
 public void Setup(HotkeyAbilitySystem hotkeySystem, int abilityIndex, HotkeyAbilitySystem.HotkeyAbility hotkeyAbility)
 {
     this.hotkeySystem  = hotkeySystem;
     this.abilityIndex  = abilityIndex;
     this.hotkeyAbility = hotkeyAbility;
 }