コード例 #1
0
        // -------------------------------------------------------------------------------
        protected override void ThrottledUpdate()
        {
            if (manager == null)
            {
                manager = localPlayer.GetComponent <TechnologyManager>();
            }

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

            foreach (TechnologySyncStruct _entry in manager.GetEntries(true, SortOrder.None, category))
            {
                TechnologySyncStruct 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 <UIPlayerListTechnologySlot>().Init(localPlayer, ref entry);
            }
        }
        protected override void SellEntry(int _index, long _amount)
        {
            TechnologySyncStruct entry = syncTechnologies[_index];

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

            GetComponentInParent <CurrencyManager>().AddCurrency(entry.template.sellCost, entry.level);
        }
        public void SaveData_Technology(GameObject player)
        {
            connection.Execute("DELETE FROM c2w_technology WHERE owner=?", player.name);

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

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

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

                connection.InsertOrReplace(new c2w_technology {
                    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, TechnologyTemplate _template, byte _state, double _timer, int _level)
        {
            TechnologySyncStruct syncStruct = new TechnologySyncStruct(_slot, _template, _state, _timer, _level);

            syncTechnologies.Add(syncStruct);
        }