private void OnTriggerEnter(Collider other) { if ((other.gameObject.tag == "Unit" || other.gameObject.tag == "Barrack" || other.gameObject.tag == "Tower") && controller != null) { GameObject enemy = other.gameObject; EntityController enemyController = enemy.GetComponent <EntityController>(); if (enemyController.color != controller.color) { if (enemyController is UnitController) { UnitController enemyUnitController = (UnitController)enemyController; if (enemyUnitController.state != UnitState.DEAD) { entitiesInRange.Add(enemy); VerifyEnemyPresence(); } } else if (enemyController is BarrackController) { BarrackController enemyBarrackController = (BarrackController)enemyController; if (enemyBarrackController.state != BarrackState.DESTROYED) { entitiesInRange.Add(enemy); VerifyEnemyPresence(); } } else if (enemyController is TowerController) { TowerController enemyTowerController = (TowerController)enemyController; if (enemyTowerController.state != TowerState.DESTROYED) { entitiesInRange.Add(enemy); VerifyEnemyPresence(); } } } } }
public BarrackNotificationCenter(EntityController controller) : base(controller) { this.barrackController = (BarrackController)controller; }