public override TaskStatus OnUpdate()
    {
        if (targetGameobject.GetComponent <IA_AutoShootSystem>().currentState == TankState.NOT_MOVING)
        {
            IA_Wander_Movement wanderComp = targetGameobject.GetComponent <IA_Wander_Movement>();
            wanderComp.cTarget = wanderComp.Wander();
            wanderComp.agent.SetDestination(wanderComp.cTarget);

            targetGameobject.GetComponent <IA_AutoShootSystem>().currentState = TankState.MOVING;
        }

        return(TaskStatus.COMPLETED);
    }
Esempio n. 2
0
    private void OnTriggerEnter(Collider other)
    {
        if (!AI_AmmoSpawner.instance.spawnedAmmoCrates.Contains(other.gameObject))
        {
            return;
        }

        Debug.Log("Ayo picking ammo");
        AI_AmmoSpawner.instance.AmmoPickUp(other.gameObject);
        ChangeAmmo(maxAmmo);

        currentState = TankState.MOVING;
        if (gameObject.GetComponent <Patrol_Movement>() != null)
        {
            gameObject.GetComponent <Patrol_Movement>().ChangeTarget(); //TODO: Maybe get closest patrol movement?

            IA_Wander_Movement enemyWander = IA_GameManager.instance.sceneEnemyTanks[0].GetComponent <IA_Wander_Movement>();
            if (enemyWander.cTarget.x == other.transform.position.x && enemyWander.cTarget.y == other.transform.position.y)
            {
                Debug.Log("Same target ammo lamo");
                enemyWander.SetDestination(AI_AmmoSpawner.instance.GetSpawnedPositions()[0]);
            }
        }
        else
        {
            gameObject.GetComponent <IA_Wander_Movement>().SetWander();
            SetTarget(IA_GameManager.instance.playerTank);

            Patrol_Movement playerPatrol = IA_GameManager.instance.playerTank.GetComponent <Patrol_Movement>();
            if (playerPatrol.cTarget.x == other.transform.position.x && playerPatrol.cTarget.y == other.transform.position.y)
            {
                Debug.Log("Same target ammo lamo");
                playerPatrol.SetDestination(AI_AmmoSpawner.instance.GetSpawnedPositions()[0]);
            }
        }
    }