private void OnTriggerEnter(Collider other) { var target = other.gameObject.GetComponent <Damageable>(); if (target == null) { return; } if (AffectedTeams.Contains(other.gameObject.GetComponent <Team>().TeamId)) { affected.Add(target); } }
private void OnTriggerEnter(Collider other) { var team = other.gameObject.GetComponent <Team>(); if (team == null || !AffectedTeams.Contains(team.TeamId)) { return; } other.gameObject.GetComponent <Damageable>().Damage(Damage); if (exploding) { return; } gameObject.GetComponent <SphereCollider>().radius = Radius; Destroy(gameObject, 0.1f); exploding = true; }
private void Shoot() { var hits = PositionUtil.RayAllFromTo(gameObject, Target, Range); foreach (var hit in hits) { var dmg = hit.transform.gameObject.GetComponent <Damageable>(); var team = hit.transform.gameObject.GetComponent <Team>(); if (dmg == null || !AffectedTeams.Contains(team.TeamId)) { continue; } dmg.Damage(Damage); break; } Destroy(gameObject); }