public void GhostAbility(AbstractTrapBehaviour abstractTrapBehaviour) { var trapsManager = GameObject.FindObjectOfType <TrapsManager>(); var abilityGoPrefab = trapsManager.GetAbilityEffectForCreep(abstractTrapBehaviour.Model.AbilityType); var go = GameObject.Instantiate(abilityGoPrefab); go.transform.position = this.transform.position; go.transform.parent = this.transform; go.transform.localScale *= 0.5f; var moveSpeed = this.Model.MoveSpeed; this.Model.MoveSpeed = moveSpeed * 0.5f; this.Buffs.Add(new CreepBuff("ghost")); var animSpeed = anim.speed; anim.speed = 0.5f; StartCoroutine(FrostCor(moveSpeed, animSpeed, go, 5f)); }
public void FrostAbility(AbstractTrapBehaviour abstractTrapBehaviour) { var trapsManager = GameObject.FindObjectOfType <TrapsManager>(); var abilityGoPrefab = trapsManager.GetAbilityEffectForCreep(abstractTrapBehaviour.Model.AbilityType); var go = GameObject.Instantiate(abilityGoPrefab); go.transform.position = this.transform.position; var moveSpeed = this.Model.MoveSpeed; this.Model.MoveSpeed = 0f; var animSpeed = anim.speed; anim.speed = 0f; StartCoroutine(FrostCor(moveSpeed, animSpeed, go, 2f)); }
public void EnvenomAbility(AbstractTrapBehaviour abstractTrapBehaviour) { var trapsManager = GameObject.FindObjectOfType <TrapsManager>(); var abilityGoPrefab = trapsManager.GetAbilityEffectForCreep(abstractTrapBehaviour.Model.AbilityType); var go = GameObject.Instantiate(abilityGoPrefab); go.transform.position = new Vector3(this.transform.position.x, this.transform.position.y + 0.05f, this.transform.position.z); go.transform.parent = this.transform; go.transform.localScale *= 0.3f; var moveSpeed = this.Model.MoveSpeed; this.Model.MoveSpeed = moveSpeed * 0.3f; var animSpeed = anim.speed; anim.speed = 0.3f; StartCoroutine(FrostCor(moveSpeed, animSpeed, go, 5f)); }
public void UpgradeTower(AbstractTrapBehaviour selectedTrap) { selectedTrap.UpgadeTrap(); Money -= selectedTrap.Model.MoneyCost; }
public bool CanUpgradeTower(AbstractTrapBehaviour selectedTrap) { return(Money >= selectedTrap.Model.MoneyCost); }
public void StealAbility(AbstractTrapBehaviour abstractTrapBehaviour) { playerManager.BackBrains(this); }
public void DisplayCurrentTrapInfo(AbstractTrapBehaviour trap) { this.TrapPlace = trap.TrapPlace; this.TrapName.text = trap.Model.TrapName; this.DamageText.text = string.Format("{0} - {1}", trap.Model.MinDamage, trap.Model.MaxDamage); this.AttackSpeedText.text = trap.Model.AttackSpeed.ToString("F1"); this.TrapImage.overrideSprite = trap.GetComponentInChildren <SpriteRenderer>().sprite; this.TrapImage.color = trap.GetComponentInChildren <SpriteRenderer>().color; this.UpgradeTrapName.gameObject.SetActive(!trap.Model.IsMaxLevelUpgrade()); this.UpgradeTrapInfoPanel.gameObject.SetActive(!trap.Model.IsMaxLevelUpgrade()); this.UpgradeCost.gameObject.SetActive(!trap.Model.IsMaxLevelUpgrade()); this.UpGradeButton.gameObject.SetActive(!trap.Model.IsMaxLevelUpgrade()); if (trap.Model.IsMaxLevelUpgrade() == false) { this.UpgradeTrapName.text = trap.Model.NextUpgradeTrap.TrapName; this.UpgradeDamageText.text = string.Format("{0} - {1}", trap.Model.NextUpgradeTrap.MinDamage, trap.Model.NextUpgradeTrap.MaxDamage); this.UpgradeAttackSpeedText.text = trap.Model.NextUpgradeTrap.AttackSpeed.ToString("F1"); this.UpgradeCost.text = trap.Model.NextUpgradeTrap.MoneyCost.ToString(); } #region AttackType FearType.color = new Color(1f, 1f, 1f, 0.3f); LightType.color = new Color(1f, 1f, 1f, 0.3f); ChaosType.color = new Color(1f, 1f, 1f, 0.3f); PoisonType.color = new Color(1f, 1f, 1f, 0.3f); switch (trap.Model.AttackType) { case TrapAttackType.Fear: FearType.color = new Color(1f, 1f, 1f, 1f); break; case TrapAttackType.Light: LightType.color = new Color(1f, 1f, 1f, 1f); break; case TrapAttackType.Chaos: ChaosType.color = new Color(1f, 1f, 1f, 1f); break; case TrapAttackType.Poison: PoisonType.color = new Color(1f, 1f, 1f, 1f); break; } #endregion #region Ability FrostAbility.color = new Color(1f, 1f, 1f, 0.3f); EnvenomAbility.color = new Color(1f, 1f, 1f, 0.3f); StealAbility.color = new Color(1f, 1f, 1f, 0.3f); GhostAbility.color = new Color(1f, 1f, 1f, 0.3f); switch (trap.Model.AbilityType) { case TrapAbilityType.None: break; case TrapAbilityType.Frost: FrostAbility.color = new Color(1f, 1f, 1f, 1f); break; case TrapAbilityType.Envenom: EnvenomAbility.color = new Color(1f, 1f, 1f, 1f); break; case TrapAbilityType.Steal: StealAbility.color = new Color(1f, 1f, 1f, 1f); break; case TrapAbilityType.Ghost: GhostAbility.color = new Color(1f, 1f, 1f, 1f); break; default: throw new ArgumentOutOfRangeException(); } #endregion #region Upgrade Ability if (trap.Model.IsMaxLevelUpgrade() == false) { UpgradeFrostAbility.color = new Color(1f, 1f, 1f, 0.3f); UpgradeEnvenomAbility.color = new Color(1f, 1f, 1f, 0.3f); UpgradeStealAbility.color = new Color(1f, 1f, 1f, 0.3f); UpgradeGhostAbility.color = new Color(1f, 1f, 1f, 0.3f); switch (trap.Model.NextUpgradeTrap.AbilityType) { case TrapAbilityType.None: break; case TrapAbilityType.Frost: UpgradeFrostAbility.color = new Color(1f, 1f, 1f, 1f); break; case TrapAbilityType.Envenom: UpgradeEnvenomAbility.color = new Color(1f, 1f, 1f, 1f); break; case TrapAbilityType.Steal: UpgradeStealAbility.color = new Color(1f, 1f, 1f, 1f); break; case TrapAbilityType.Ghost: UpgradeGhostAbility.color = new Color(1f, 1f, 1f, 1f); break; default: throw new ArgumentOutOfRangeException(); } } #endregion }