// -------------------------------------------------------------------------------
        protected override void ThrottledUpdate()
        {
            if (manager == null)
            {
                manager = localPlayer.GetComponent <SpellManager>();
            }

            for (int i = 0; i < contentGroup.childCount; i++)
            {
                GameObject.Destroy(contentGroup.GetChild(i).gameObject);
            }

            foreach (SpellSyncStruct _entry in manager.GetEntries(true, SortOrder.None, category))
            {
                SpellSyncStruct entry  = _entry;
                GameObject      prefab = null;

                if (displayType == DisplayType.Horizontal)
                {
                    prefab = horizontalSlotPrefab.gameObject;
                }
                else if (displayType == DisplayType.Vertical)
                {
                    prefab = verticalSlotPrefab.gameObject;
                }
                else if (displayType == DisplayType.Grid)
                {
                    prefab = gridSlotPrefab.gameObject;
                }

                GameObject go = GameObject.Instantiate(prefab);
                go.transform.SetParent(contentGroup, false);
                go.GetComponent <UIPlayerListSpellSlot>().Init(localPlayer, ref entry);
            }
        }
        protected override void SellEntry(int _index, long _amount)
        {
            SpellSyncStruct entry = syncSpells[_index];

            entry.Remove(_amount);
            syncSpells[_index] = entry;

            GetComponentInParent <CurrencyManager>().AddCurrency(entry.template.sellCost, entry.level);
        }
예제 #3
0
        public void SaveData_Spell(GameObject player)
        {
            connection.Execute("DELETE FROM c2w_spell WHERE owner=?", player.name);

            SpellManager manager = player.GetComponent <SpellManager>();

            List <SpellSyncStruct> list = manager.GetEntries(false);

            for (int i = 0; i < list.Count; i++)
            {
                SpellSyncStruct entry = list[i];

                connection.InsertOrReplace(new c2w_spell {
                    owner = player.name,
                    slot  = entry.slot,
                    name  = entry.name,
                    level = entry.level,
                    state = entry.state,
                    timer = entry.timer
                });
            }
        }
예제 #4
0
        public void AddEntry(int _slot, SpellTemplate _template, byte _state, double _timer, int _level)
        {
            SpellSyncStruct syncStruct = new SpellSyncStruct(_slot, _template, _state, _timer, _level);

            syncSpells.Add(syncStruct);
        }