Exemplo n.º 1
0
    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;
 }