public void RemoveItem(int index) { available_items[index] = new AvailableItem(Items.NOTHING); UiManager.self.SetItem(index, Items.NOTHING); if (SpecialAbilitiesManager.self.Has(SpecialAbilities.RANDOMER)) { Array items = Enum.GetValues(typeof(Items)); AddItem((Items)items.GetValue(UnityEngine.Random.Range(0, items.Length - 1))); } }
public void AddItem(Items item) { string key = item.ToString().ToLower() + "_tutorial_shown"; if (!tutorials_shown[key]) { tutorials_shown[key] = true; PlayerPrefs.SetInt(key, 1); UiManager.self.ShowInGameTutorialPanel(item); } // checking if the item exists already for (int i = 0; i < available_items_size; i++) { if (available_items[i].item == item) { available_items[i] = new AvailableItem(item); if (actives[available_items[i].item]) { StopCoroutine(coroutines[available_items[i].item]); coroutines[available_items[i].item] = StartCoroutine(SetSliderValue(i)); } return; } } // adding to null slot for (int i = 0; i < available_items_size; i++) { if (available_items[i].item == Items.NOTHING) { available_items[i] = new AvailableItem(item); UiManager.self.SetItem(i, item); return; } } AvailableItem[] sorted = (AvailableItem[])available_items.Clone(); Array.Sort(sorted, delegate(AvailableItem x, AvailableItem y) { return(x.time_added.CompareTo(y.time_added)); }); for (int i = 0; i < sorted.Length; i++) { if (actives[sorted[i].item] == false) { int real_index = Array.IndexOf(available_items, sorted[i]); available_items[real_index] = new AvailableItem(item); UiManager.self.SetItem(real_index, item); break; } } }
void Start() { available_items_size = LevelManager.self.item_slots_unlocks; available_items = new AvailableItem[available_items_size]; for (int i = 0; i < available_items_size; i++) { available_items[i] = new AvailableItem(Items.NOTHING); } Items[] items = (Items[])Enum.GetValues(typeof(Items)); foreach (Items item in items) { actives.Add(item, false); string key = item.ToString().ToLower() + "_tutorial_shown"; tutorials_shown[key] = PlayerPrefs.GetInt(key) == 1; } AddMeta(); }