Esempio n. 1
0
        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]);
                }
            }
        }
Esempio n. 2
0
        // 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);
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        public bool CanDrop(IDraggable dragged, IDraggable drop)
        {
            UIPowerIcon pi = drop as UIPowerIcon;

            return(pi != null);
        }