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); }
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]); } } }