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; } }
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(); }
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); } }
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); }