private void OnTriggerEnter(Collider other) { if (other.tag == Tag) { CharacterAttention OtherAttention = other.gameObject.GetComponent <CharacterAttention>(); if (OtherAttention.GetOwner().GetAlignment() == Character.TeamAlignment.PLAYERS) { PlayerEntersAttentionRange(OtherAttention.GetOwner()); } else { EnemyEntersAttentionRange(OtherAttention.GetOwner()); } } else if (other.tag == TagHitObjects || other.tag == TagPlayerHitObjects) { SkillHitObject OtherHitObject = other.gameObject.GetComponent <SkillHitObject>(); if ((OtherHitObject.GetAlignment() == Character.TeamAlignment.ALL || OtherHitObject.GetAlignment() == Character.TeamAlignment.ENEMIES) && OtherHitObject.GetOwnerAlignment() == Character.TeamAlignment.PLAYERS) { PlayerHitObjectsInRange.Add(OtherHitObject); OtherHitObject.AddInCharactersAttention(this); } } }
private void OnTriggerExit(Collider other) { if (other.tag == Tag) { CharacterAttention OtherAttention = other.gameObject.GetComponent <CharacterAttention>(); if (OtherAttention.GetOwner().GetAlignment() == Character.TeamAlignment.PLAYERS) { if (other.gameObject.layer != CharacterDeadLayerID || Owner.GetAlignment() == Character.TeamAlignment.PLAYERS) { PlayerLeavesAttentionRange(OtherAttention.GetOwner()); } } else { EnemyLeavesAttentionRange(OtherAttention.GetOwner()); } } else if (other.tag == TagHitObjects) { SkillHitObject OtherHitObject = other.gameObject.GetComponent <SkillHitObject>(); if ((OtherHitObject.GetAlignment() == Character.TeamAlignment.ALL || OtherHitObject.GetAlignment() == Character.TeamAlignment.ENEMIES) && OtherHitObject.GetOwnerAlignment() == Character.TeamAlignment.PLAYERS) { PlayerHitObjectsInRange.Remove(OtherHitObject); OtherHitObject.RemoveInCharactersAttention(this); } } }
public void RemoveHitObjectAfterDestroy(SkillHitObject DestroyedHitObject) { if ((DestroyedHitObject.GetAlignment() == Character.TeamAlignment.ALL || DestroyedHitObject.GetAlignment() == Character.TeamAlignment.ENEMIES) && DestroyedHitObject.GetOwnerAlignment() == Character.TeamAlignment.PLAYERS) { PlayerHitObjectsInRange.Remove(DestroyedHitObject); } }