void Init() { if (items != null) { for (int i = 0; i < items.Length; i++) { ObjectFactory.Recycle(items[i].gameObject); } } RectTransform iconRect = icon.GetComponent <RectTransform>(); items = new MenuItem[character.powers.Length]; for (int i = 0; i < character.powers.Length; i++) { GameObject obj = ObjectFactory.GetObject(icon); obj.SetActive(true); obj.transform.parent = transform; obj.name = "Icon_" + character.powers[i].name; RectTransform rt = obj.GetComponent <RectTransform>(); rt.position = iconRect.position + 48 * i * Vector3.right; items[i] = obj.GetComponent <MenuItem>(); items[i].Init(character, null, character.powers[i], i); UIPowerIcon ic = items[i].GetComponentInChildren <UIPowerIcon>(); if (ic) { ic.index = i; ic.SetPower(character.powers[i]); } } }
// Use this for initialization public void SetPowerSet(PowerSet ps) { powerSet = ps; ScrollRect sr = GetComponent <ScrollRect>(); Transform par = sr ? sr.content : transform; // clean up old list of children for (int i = 0; i < par.childCount; i++) { Destroy(par.GetChild(i).gameObject); } int y = 0; foreach (Power p in powerSet.powers) { GameObject go = ObjectFactory.GetObject(prefab); UIPowerEntry pe = go.GetComponent <UIPowerEntry>(); pe.power = p; go.transform.parent = par; go.transform.localPosition = new Vector3(100, -16 + y, 0); y -= 33; UIPowerIcon icon = go.GetComponentInChildren <UIPowerIcon>(); if (icon) { icon.SetPower(p); } } if (sr) { sr.content.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, 100); sr.content.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, 33 * powerSet.powers.Length); } }
public void Drop(IDraggable dragged, IDraggable drop, int replacedIndex, bool final) { // swap powers within our own character's list UIPowerIcon pi = dragged as UIPowerIcon; character.powers[replacedIndex] = pi.GetPower(); items[replacedIndex].Init(character, null, character.powers[replacedIndex], replacedIndex); (drop as UIPowerIcon).SetPower(character.powers[replacedIndex]); character.UpdatePassives(); Debug.Log("Dropping " + character.powers[replacedIndex].name + " into slot " + replacedIndex); }
public bool CanDrop(IDraggable dragged, IDraggable drop) { UIPowerIcon pi = drop as UIPowerIcon; return(pi != null); }