public void clicked() { UIBase uiBase = UIBase.instance; if (uiBase && uiBase.openSkillTrees.Count > 0) { SkillTree openSkillTree = uiBase.openSkillTrees[0]; GameObject player = PlayerFinder.getPlayer(); if (openSkillTree && player && player.GetComponent <SpecialisedAbilityList>()) { // de-allocate all the nodes foreach (SkillTreeNode node in SkillTreeNode.all) { if (node.tree == openSkillTree) { node.pointsAllocated = 0; node.updateText(); } } // set unspent points to 1 openSkillTree.unspentPoints = 1; // update the mutator now that the points are de-allocated openSkillTree.updateMutator(); // despecialise the ability player.GetComponent <SpecialisedAbilityList>().DespecialiseAbility(openSkillTree.ability); // play a sound UISounds.playSound(UISounds.UISoundLabel.Despecialise); // update tooltip mana costs AbilityTooltip.updateManaCosts(openSkillTree.ability); } uiBase.closeSkillTrees(); uiBase.closeSpecialisationSelection(); } }
// Use this for initialization void Start() { tooltipAbility = gameObject.GetComponent <AbilityTooltip> (); player = PlayerFinder.getPlayer(); PlayerFinder.playerChangedEvent += ChangePlayer; if (player != null) { foreach (Transform child in transform) { if (child.name == "Sprite" && child.GetComponent <Image> ()) { icon = child.GetComponent <Image> (); icon.sprite = ability.abilitySprite; } else if (child.name == "Frame") { } else if (child.name == "Description") { child.GetComponent <TextMeshProUGUI> ().text = ability.description; } else if (child.name == "SkillName") { child.GetComponent <TextMeshProUGUI> ().text = ability.abilityName; } else if (child.name == "LevelRequirement") { child.GetComponent <TextMeshProUGUI>().text = "" + levelRequirement; } } } }
// Use this for initialization void Start() { player = PlayerFinder.getPlayer(); PlayerFinder.playerChangedEvent += ChangePlayer; if (player != null) { playerMana = player.GetComponent <BaseMana> (); playerCharges = player.GetComponent <ChargeManager> (); } tooltipAbility = GetComponent <AbilityTooltip> (); foreach (UIBarWithMaterial bar in GetComponentsInChildren <UIBarWithMaterial>()) { //if (bar.name == "CooldownBar") { bar.currentFill = bar.maxFill; } //else if (bar.name == "OutOfMana") { outOfMana = bar; } } foreach (Image im in GetComponentsInChildren <Image>()) { if (im.name == "Sprite") { icon = im; } if (im.name == "CooldownBar") { cooldownBar = im; } } }
public void OnHoverEnter(BaseEventData baseEventData) { if (ability != null && ability.TooltipPrefab != null) { tooltip = Instantiate <AbilityTooltip>(ability.TooltipPrefab, transform); tooltip.SetAbility(ability); } }
public void Awake() { tooltip = GameObject.FindGameObjectWithTag("Ability Tooltip").GetComponent <AbilityTooltip> (); cooldownFill = gameObject.transform.GetChild(3).GetComponent <Image> (); apCost = gameObject.transform.GetChild(1).GetComponentInChildren <Text> (); abilityIcon = gameObject.transform.GetChild(2).GetComponent <Image> (); cooldown = gameObject.transform.GetChild(4).GetComponent <Text> (); abilityButton = GetComponent <Button> (); cooldownFill.fillAmount = 0; }
public void Clicked() { // return if the player has not specialised in this ability SkillTree skillTree = tree as SkillTree; if (skillTree) { if (!PlayerFinder.getPlayer().GetComponent <SpecialisedAbilityList>().abilities.Contains(skillTree.ability)) { return; } } // check if there is a spare point and this is not at max points if ((nodeType == nodeRequirementType.axis && tree.unspentAxisPoints > 0) || (nodeType == nodeRequirementType.node && tree.unspentPoints > 0)) { if (pointsAllocated < maxPoints || maxPoints < 0) { // if the requirements are met then allocate the point if (requirementsMet()) { pointsAllocated++; if (nodeType == nodeRequirementType.node) { tree.unspentPoints--; } if (nodeType == nodeRequirementType.axis) { tree.unspentAxisPoints--; } tree.updateMutator(); updateText(); // play a sound UISounds.playSound(UISounds.UISoundLabel.AllocateNode); // update mana costs on tooltips SkillTree st = tree as SkillTree; if (st && st.ability) { AbilityTooltip.updateManaCosts(st.ability); } // update the node progression (for respeccing) if (tree as CharacterTree) { SkillSavingManager.instance.pushToNodePogression(nodeID); } } } } // save SkillSavingManager.instance.saveNodeData(this); PlayerFinder.getPlayer().GetComponent <CharacterDataTracker>().SaveCharacterData(); }
// Use this for initialization void Start() { tooltipAbility = gameObject.GetComponent <AbilityTooltip> (); player = PlayerFinder.getPlayer(); PlayerFinder.playerChangedEvent += ChangePlayer; if (skillTree == null) { foreach (SkillTree tree in SkillTree.all) { if (tree.ability == ability) { skillTree = tree; } } } if (player != null) { foreach (Transform child in transform) { if (child.name == "Sprite" && child.GetComponent <Image> ()) { icon = child.GetComponent <Image> (); icon.sprite = ability.abilitySprite; } else if (child.name == "Frame") { } else if (child.name == "Description") { child.GetComponent <TextMeshProUGUI> ().text = ability.description; } else if (child.name == "SkillName") { child.GetComponent <TextMeshProUGUI> ().text = ability.abilityName; } else if (child.name == "HasTree") { hasTree = child.gameObject; if (!skillTree) { hasTree.SetActive(false); } } } } }
public override void updateChargesDisplay(int abilityNumber) { float _charges = charges[abilityNumber]; // update the charges containers[abilityNumber].updateCharges((int)charges[abilityNumber]); // update the cooldown bar if (_charges > 0 && _charges <= 1) { icons[abilityNumber].cooldownBar.fillAmount = 1 - _charges; } else if (icons[abilityNumber].cooldownBar) { icons[abilityNumber].cooldownBar.fillAmount = 0; } // update tooltips AbilityTooltip.updateAllManaCosts(); }
// Use this for initialization void Start() { tooltipAbility = gameObject.GetComponent <AbilityTooltip>(); foreach (Transform child in transform) { if (child.name == "Sprite" && child.GetComponent <Image>()) { icon = child.GetComponent <Image>(); icon.sprite = ability.abilitySprite; } else if (child.name == "Frame") { } else if (child.name == "SkillName") { child.GetComponent <TextMeshProUGUI>().text = ability.abilityName; } } }
// Use this for initialization void Start() { specialisationPanelmanager = SpecialisationPanelManager.instance; tooltipAbility = gameObject.GetComponent <AbilityTooltip>(); player = PlayerFinder.getPlayer(); PlayerFinder.playerChangedEvent += ChangePlayer; foreach (Transform child in transform) { if (child.name == "Sprite" && child.GetComponent <Image>()) { icon = child.GetComponent <Image>(); icon.sprite = ability.abilitySprite; } else if (child.name == "Frame") { } else if (child.name == "SkillName") { child.GetComponent <TextMeshProUGUI>().text = ability.abilityName; } } }