Beispiel #1
0
    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)));
        }
    }
Beispiel #2
0
    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;
            }
        }
    }
Beispiel #3
0
    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();
    }