public void LoadData_Enhancement(GameObject player)
        {
            EnhancementManager manager = player.GetComponent <EnhancementManager>();

            foreach (c2w_enhancement row in connection.Query <c2w_enhancement>("SELECT * FROM c2w_enhancement WHERE owner=?", player.name))
            {
                if (row.slot < manager.GetCapacity)
                {
                    if (String.IsNullOrWhiteSpace(row.name))
                    {
                        manager.AddEntry(row.slot, null, 0, 0, 0);
                    }
                    else if (EnhancementTemplate.dict.TryGetValue(row.name.GetDeterministicHashCode(), out EnhancementTemplate template))
                    {
                        manager.AddEntry(row.slot, template, row.state, row.timer, row.level);
                    }
                    else
                    {
                        Debug.LogWarning("Load: Skipped enhancement " + row.name + " for " + player.name + " as it was not found in Resources.");
                    }
                }
                else
                {
                    Debug.LogWarning("Skipped enhancement slot " + row.slot + " for " + player.name + " because it's bigger than size " + manager.GetCapacity);
                }
            }
        }
コード例 #2
0
        // -------------------------------------------------------------------------------
        protected override void ThrottledUpdate()
        {
            if (manager == null)
            {
                manager = localPlayer.GetComponent <EnhancementManager>();
            }

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

            foreach (EnhancementSyncStruct _entry in manager.GetEntries(true, SortOrder.None, category))
            {
                EnhancementSyncStruct 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 <UIPlayerListEnhancementSlot>().Init(localPlayer, ref entry);
            }
        }
        public void SaveData_Enhancement(GameObject player)
        {
            connection.Execute("DELETE FROM c2w_enhancement WHERE owner=?", player.name);

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

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

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

                connection.InsertOrReplace(new c2w_enhancement {
                    owner = player.name,
                    slot  = entry.slot,
                    name  = entry.name,
                    level = entry.level,
                    state = entry.state,
                    timer = entry.timer
                });
            }
        }
        public void CreateDefaultData_Enhancement(GameObject player)
        {
            EnhancementManager manager = player.GetComponent <EnhancementManager>();

            manager.CreateDefaultData();
        }