public void ShowInfo(string type) { string toolTip = string.Empty; switch (type) { case "Fire": FireTower fire = TowerPrefab.GetComponentInChildren <FireTower>(); toolTip = string.Format("<color=#ffa500ff><size=20><b>Fire</b></size></color>\nDamage : {0} \nProc: {1}% \nDebuff duration: {2}sec \nTick time: {3}\nTick Damage: {4}\n Can apply a Dot to the target", fire.Damage, fire.Proc, fire.DebuffDuration, fire.TickTime, fire.TickDamage); break; case "Frost": FrostTower frost = TowerPrefab.GetComponentInChildren <FrostTower>(); toolTip = string.Format("<color=#00ffffff><size=20><b>Frost</b></size></color>\nDamage : {0} \nProc: {1}% \nDebuff duration: {2}sec \nSlowing factor: {3} \n Has chance to slow down the target", frost.Damage, frost.Proc, frost.DebuffDuration, frost.SlowingFactor); break; case "Posion": PoisonTower poison = TowerPrefab.GetComponentInChildren <PoisonTower>(); toolTip = string.Format("<color=#00ff00ff><size=20><b>Poison</b></size></color>\nDamage : {0} \nProc: {1}% \nDebuff duration: {2}sec \nTick time: {3} \nSplash damage: {4}\n Can apply Dripping poison", poison.Damage, poison.Proc, poison.DebuffDuration, poison.TickTime, poison.SplashDamage); break; case "Strom": StromTower strom = TowerPrefab.GetComponentInChildren <StromTower>(); toolTip = string.Format("<color=#add8e6ff><size=20><b>Strom</b></size></color>\nDamage : {0} \nProc: {1}% \nDebuff duration: {2}sec \n Has a chance to stun the target", strom.Damage, strom.Proc, strom.DebuffDuration); break; } GameManager.Instance.SetTooltipText(toolTip); GameManager.Instance.ShowStats(); }
/// <summary> /// Belongs to InitalizeEventTrigger(). /// /// Author: Steven Johnson, David Askari /// </summary> /// <param name="data">Information about the event.</param> public void OnPointerEnterDelegate(PointerEventData data) { if (!PauseGame.Status) { TowerInformation.ShowHoveringTower(TowerPrefab.GetComponent <Tower>()); } }
/// <summary> /// Setup mouse trigger, the price text and the button. /// This get's called after Initalize()! /// /// Author: David Askari /// </summary> private void Start() { InitalizeEventTrigger(); TextMeshProUGUI priceText = this.transform.Find("PricePanel").GetComponentInChildren <TextMeshProUGUI>(); priceText.text = TowerPrefab.GetComponent <Tower>().BaseCosts.ToString() + " <sprite=1>"; priceText.SetText("{0} <sprite=1>", TowerPrefab.GetComponent <Tower>().BaseCosts); towerButton = GetComponent <Button>(); towerButton.onClick.AddListener(OnClickListener); }
/// <summary> /// Check whether this TowerBtn button should be interactable based on player's money. /// /// Author: David Askari /// </summary> public void CheckEnoughMoney() { towerButton.interactable = TowerPrefab.GetComponent <Tower>().BaseCosts <= GameManager.money ? true : false; }