// ------------------------------------------------------------------------------- // ThrottledUpdate // ------------------------------------------------------------------------------- protected override void ThrottledUpdate() { if (!networkManager || networkManager.state != NetworkState.Game) { Hide(); } else { Show(); } if (!localPlayer) { return; } if (currencyManager == null) { currencyManager = localPlayer.GetComponent <PlayerCurrencyComponent>(); } for (int i = 0; i < root.transform.childCount; i++) { GameObject.Destroy(root.transform.GetChild(i).gameObject); } int count = 0; foreach (CurrencySyncStruct _entry in currencyManager.GetEntries(true, SortOrder.Priority)) { CurrencySyncStruct entry = _entry; GameObject go = GameObject.Instantiate(slotPrefab.gameObject); go.transform.SetParent(root.transform, false); go.GetComponent <UICurrencySlotHorizontal>().Init(ref entry); count++; if (maxEntries > 0 && count > maxEntries) { break; } } }
void SaveDataPlayer_Currency(GameObject player, bool isOnline) { // you should delete all data of this player first, to prevent duplicates DeleteDataPlayer_Currency(player.name); PlayerCurrencyComponent manager = player.GetComponent <PlayerCurrencyComponent>(); List <CurrencySyncStruct> list = manager.GetEntries(false); for (int i = 0; i < list.Count; i++) { CurrencySyncStruct entry = list[i]; InsertOrReplace(new TablePlayerCurrencies { owner = player.name, name = entry.name, slot = entry.slot, value = entry.value, timeStamp = entry.timeStamp }); } }