public void OnAttack() { if (!player.IsInvicibility) { player.TakeDamage(State.AttackDamage); } }
public void OnOrcaAttack2() { Transform Attack2Point = GameObject.Find("Attack2Point").transform; Attack2Point.position = new Vector3(Attack2Point.transform.position.x, Attack2Point.transform.position.y, Attack2Point.transform.position.z); MemoryPoolManager.Instance.CreateObject("OrcaEffect", Attack2Point.position, new Quaternion(0, 0, 0, 0)); int layerMask; string PlayerLayer = "Player"; layerMask = LayerMask.GetMask(PlayerLayer); Collider[] colliders = Physics.OverlapSphere(Attack2Point.position, 4.0f, layerMask); for (int i = 0; i < colliders.Length; ++i) { FSMPlayer player = colliders[i].GetComponent <FSMPlayer>(); if (!player.IsInvicibility) { player.TakeDamage(250); } } }
public void OnIceAge() { MemoryPoolManager.Instance.CreateObject("IceAge", this.transform); int layerMask; string PlayerLayer = "Player"; layerMask = LayerMask.GetMask(PlayerLayer); Collider[] colliders = Physics.OverlapSphere(this.transform.position, 6.0f, layerMask); for (int i = 0; i < colliders.Length; ++i) { FSMPlayer player = colliders[i].GetComponent <FSMPlayer>(); player.TakeDamage(player.Health.maxHP.Value); } }
private void OnTriggerEnter(Collider other) { if (other.CompareTag("Player")) { FSMPlayer player = other.GetComponent <FSMPlayer>(); if (player != null) { if (player.IsAvoid()) { return; } if (player.IsDead()) { return; } if (player.IsInvicibility) { return; } if (Name != null) { MemoryPoolManager.Instance.CreateObject(Name, transform); } player.TakeDamage(AttackDamage); this.gameObject.SetActive(false); } } //For Plasma if (isGroundCollision) { if (other.gameObject.layer == 8) { MemoryPoolManager.Instance.CreateObject("Plasma", transform); this.gameObject.SetActive(false); } } }