示例#1
0
    public void SetSkill(Toy_Button b, bool check_inventory)
    {
        _setStuff();
        //string what = (b == null) ? "null" : b.effect_type.ToString();


        if (b == null || b.toy_rune == null) // turn it off
        {
            _setSprite(null);

            //if (check_inventory) peripheral.my_skillmaster.DisableSkill(type);
            type = EffectType.Null;
        }
        else                                        // turn it on
        {
            Debug.Log($"Setting special skill button {b.gameObject.name} check_inventory {check_inventory}\n");
            //  if (b.rune_type == RuneType.Castle) return;
            //      Debug.Log("SETTING SELECT SKILL BUTTON FOR " + b.effect_type);
            if (check_inventory && peripheral.my_skillmaster.CheckSkill(b.effect_type))
            {
                Debug.Log("skill is already added to list\n");
                return; //skill already added, should play a sad sound here
            }
            if (b.toy_rune.getStatBit(b.effect_type) == null)
            {
                Debug.Log("skill hasn't been purchased yet\n");
                return; //skill already added, should play a sad sound here
            }

            peripheral.my_skillmaster.SetSkill(b.toy_rune.getStatBit(b.effect_type));
            peripheral.my_skillmaster.setInventory(b.effect_type, true);
            _setSprite(b.my_button.image.sprite);
            type = b.effect_type;
        }
    }
    public virtual void setSelectedButton(Toy_Button select_me)
    {
        //Debug.Log("STUFF " + select_me + "\n");
        if (selected_button_image == null)
        {
            return;
        }

        if (select_me == null)
        {
            selected_button_image.gameObject.SetActive(false);
        }
        else
        {
            selected_button_image.gameObject.SetActive(true);
            RectTransform image  = select_me.my_button.image.GetComponent <RectTransform>();
            RectTransform set_to = select_me.my_button.GetComponent <RectTransform>();

            selected_button_image.SetParent(set_to);
            selected_button_image.localScale = image.localScale;

            //selected_button_image.anchoredPosition = set_to.anchoredPosition;
            selected_button_image.anchoredPosition = image.anchoredPosition;
        }
    }
示例#3
0
    public override void setSelectedButton(Toy_Button b)
    {
        // Debug.Log($"setSelectedButton {b?.name}\n");
        base.setSelectedButton(b);

        selected_button = b;
        if (b == null || b.toy_rune == null || b.toy_rune.runetype == RuneType.Null)
        {
            setText(verbose_label, EffectType.Null, null, true);
            upgrade_button.gameObject.SetActive(false);
            reset_button.gameObject.SetActive(false);
        }
        else
        {
            setText(verbose_label, b.effect_type, b.toy_rune, true);
            bool yes_please = b.toy_rune.CanUpgrade(b.effect_type, RuneType.Sensible, true) == StateType.Yes;
            upgrade_button.gameObject.SetActive(yes_please);

            bool can_reset = b.toy_rune.getLevel(b.effect_type) > 0;
            reset_button.gameObject.SetActive(can_reset);
            if (can_reset)
            {
                ((Toy_Button)reset_button).effect_type = b.effect_type;
            }
        }

        showEmptyButton();
    }
示例#4
0
    private void SetSkill(bool make_noise)
    {
        Toy_Button b = my_driver.selected_button;

        if (type != EffectType.Null)
        {
            peripheral.my_skillmaster.DisableSkill(type);
            ShowEmpty();
            if (make_noise)
            {
                Noisemaker.Instance.Click(ClickType.Cancel);
            }
        }
        else
        {
            if (make_noise)
            {
                Noisemaker.Instance.Click(ClickType.Action);
            }
            tweener.StopMeNow();
            SetSkill(b, true);
        }
    }
示例#5
0
    public override void setSelectedButton(Toy_Button select_me)
    {
        if (sell_panel.activeSelf)
        {
            return;
        }

        selected_button = select_me;

        EffectType selected_type = getSelectedEffectType();

        // Debug.Log("Setting selected button " + selected_type);

        foreach (Toy_Button b in drivers[current_driver].buttons)
        {
            bool ok = (b.effect_type == selected_type);
            //  Debug.Log("button " + b.effect_type + " is " + ok);
            b.selected = (ok);
        }

        base.setSelectedButton(select_me);
        setUpgradeCost();
        setVerboseLabel();
    }
    public void CheckUpgrades()
    {
        bool special_skills_mode = (this is LevelList_Toy_Button_Driver);


        foreach (KeyValuePair <Toy_Button, Button> kvp in drivers[current_driver].button_map)
        {
            Toy_Button button = kvp.Key;
            if (parent == null && !special_skills_mode)
            {
                return;
            }
            Rune check_rune = getCheckRune(button);

            RuneType check_me_instead = RuneType.Sensible; // instead of parent.rune.runetype

            if (check_rune != null && UpgradeButton(button.type))

            {
//specialskillmode has a separate upgrade button
                //StateType status = (special_skills_mode) ? StateType.Yes : check_rune.CanUpgrade(button.effect_type, check_me_instead);
                StateType status     = check_rune.CanUpgrade(button.effect_type, check_me_instead);
                StateType have_skill = (check_rune.haveUpgrade(button.effect_type)) ? StateType.Yes : status;

                button.setState(status);
                button.setButtonImage(have_skill);
            }
            else if (!UpgradeButton(button.type))
            {
                if (check_rune == null)
                {
                    continue;
                }

                if (button.type.Equals("sell"))
                {
                    kvp.Value.gameObject.SetActive(!(check_rune.toy_type == ToyType.Hero ||
                                                     check_rune.runetype == RuneType.Castle));
                }
                else if (button.type.Equals("move_confirm"))
                {
                    kvp.Value.gameObject.SetActive(check_rune.toy_type == ToyType.Hero);
                }
                else if (button.type.Equals("reset_special_skills") || button.type.Equals("reset_skills"))
                {
                    kvp.Value.gameObject.SetActive(check_rune.toy_type == ToyType.Hero);
                }
            }
            else
            {
                button.setState(StateType.No);
                button.setButtonImage(StateType.No);
            }
        }
        StatSum statsum = null;

        if (!special_skills_mode)
        {
            statsum = parent.rune.GetStats(false);
        }
        List <MyLabel> labels = drivers[current_driver].labels;

        for (int i = 0; i < labels.Count; i++)
        {
            MyLabel label      = labels[i];
            Rune    check_rune = null;

            if (special_skills_mode)
            {
                check_rune = Central.Instance.getHeroRune(label.runetype);
            }
            else
            {
                check_rune = parent.rune;
            }

            statsum = (check_rune != null) ? check_rune.GetStats(special_skills_mode) : null;

            if (label.type.Equals("current_score"))
            {
                labels[i].text.text = Get.Round(ScoreKeeper.Instance.getTotalScore(), 0).ToString();
            }
        }
    }
 Rune getCheckRune(Toy_Button button)
 {
     return((this is LevelList_Toy_Button_Driver) ? button.toy_rune : parent.rune);
 }