public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); float dist = (sAI.transform.position - bb.moveToPosition).magnitude; if (dist > 1.0f) { UnityEngine.AI.NavMeshAgent agent = sAI.GetComponent <UnityEngine.AI.NavMeshAgent>(); agent.destination = bb.moveToPosition; output = TASK_RETURN_STATUS.FAILED; } else { bb.nodesForAStar.Remove(bb.currNodeToGetTo); if (bb.nodesForAStar.Count > 0) { bb.currNodeToGetTo = bb.nodesForAStar[0]; bb.moveToPosition = bb.currNodeToGetTo.transform.position; } output = TASK_RETURN_STATUS.SUCCEED; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { //run A* TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); if (bb.nodesForAStar.Count <= 0) { GameObject go = GameObject.FindGameObjectWithTag("AStar"); AStarObj aStarObj = go.GetComponent <AStarObj>(); //AStarObj aStarObj = GameObject.FindGameObjectWithTag("AStar").GetComponent<AStarObj>(); //new AStarObj(); aStarObj.RunThroughPath(sAI, bb.startNode, bb.goalNode); if (bb.nodesForAStar.Count > 0) { output = TASK_RETURN_STATUS.SUCCEED; bb.currNodeToGetTo = bb.nodesForAStar[0]; bb.moveToPosition = bb.currNodeToGetTo.transform.position; } } else { output = TASK_RETURN_STATUS.SUCCEED; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); if (bb.enemyTarget != null) { Vector3 dir = sAI.transform.position - bb.enemyTarget.gameObject.transform.position; float dist = dir.magnitude; if (dist < 5.0f) { //dir.Normalize(); dir += sAI.transform.position; UnityEngine.AI.NavMeshAgent agent = sAI.GetComponent <UnityEngine.AI.NavMeshAgent>(); agent.destination = dir; //sAI.transform.position += dir; output = TASK_RETURN_STATUS.SUCCEED; } } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); if (bb.enemyTarget != null) { if (bb.enemyTarget.getEnemyType() == EnemyType.HELLEPHANT || bb.enemyTarget.getEnemyType() == EnemyType.ZOMBEAR) { Vector3 dir = bb.enemyTarget.transform.position - sAI.transform.position; float distFromCrystal = (Vector3.zero - sAI.transform.position).magnitude; float dist = dir.magnitude; if (dist > 5.0f && distFromCrystal < 50.0f) { UnityEngine.AI.NavMeshAgent agent = sAI.GetComponent <UnityEngine.AI.NavMeshAgent>(); agent.destination = bb.enemyTarget.transform.position; output = TASK_RETURN_STATUS.SUCCEED; } } } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.SUCCESS; sAI.GetSurvivor().SwitchWeapons(WEAPON_TYPE.PISTOL); return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.SUCCESS; Debug.Log("Testing"); return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.SUCCESS; FindPath(sAI, sAI.GetSurvivor().transform.position, targetPoint); return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; if (enemyTarget.getState() == EnemyState.NORMAL) { sAI.GetBlackBoard().target = enemyTarget; output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; if (GameManager.getAllEnemies().Count > 4) { output = TASK_RETURN_STATUS.SUCCEED; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); bb.distFromTarget = GetDistFromTarget(bb.enemyTarget, sAI); output = TASK_RETURN_STATUS.SUCCEED; return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; if (sAI.GetBlackboard().nodesForAStar.Count <= 0) { output = TASK_RETURN_STATUS.SUCCEED; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; if(GameManager.GetBreakTimeRemaining() > 0) { SpendGoldOnAmmo(); output = TASK_RETURN_STATUS.SUCCESS; } return output; }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; base.Run(sAI); if (GameManager.GetCurrentGold() >= GameManager.GetSurvivorCost()) { GameManager.PurchaseSurvivor(); output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; BlackBoard bd = sAI.GetBlackBoard(); if (bd.target != null) { if (bd.target.getState() == EnemyState.NORMAL) { output = TASK_RETURN_STATUS.SUCCESS; } } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.SUCCEED; foreach (BT_Task child in children) { if (child.Run(sAI) == TASK_RETURN_STATUS.FAILED) { output = TASK_RETURN_STATUS.FAILED; break; } } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; base.Run(sAI); if (GameManager.GetCurrentGold() >= GameManager.GetAssaultAmmoCost()) { GameManager.PurchaseAmmo(WEAPON_TYPE.ASSAULT); output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
/* DO NOT USE UNLESS FOR SURE THAT THE ENEMY ORDERING IS EASIEST TO HARDEST IN ENUM*/ public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Enemy target = FindClosestWorstTarget(sAI); if (target != null) { sAI.GetBlackboard().enemyTarget = target; output = TASK_RETURN_STATUS.SUCCEED; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; base.Run(sAI); if (sAI.GetBlackBoard().target.state == EnemyState.DEAD) { sAI.GetSurvivor().MoveTo(sAI.GetBlackBoard().currentSurvivorPosition); output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; if (sAI.GetSurvivor().GetWeapon(WEAPON_TYPE.GRENADE_LAUNCHER).getAmmo() > 0) { if ((sAI.transform.position - sAI.GetBlackboard().enemyTarget.transform.position).magnitude <= 10) { sAI.GetSurvivor().SwitchWeapons(WEAPON_TYPE.GRENADE_LAUNCHER); output = TASK_RETURN_STATUS.SUCCEED; } } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; Enemy e = FindPriorityTarget(sAI); if (e != null) { BlackBoard b = sAI.GetBlackBoard(); b.target = e; output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); if (bb.distFromTarget <= 25.0f) //&& bb.distFromTarget >= 10.0f) { //if (sAI.GetSurvivor().GetWeapon(WEAPON_TYPE.PISTOL).getAmmo() > 0) //{ sAI.GetSurvivor().SwitchWeapons(WEAPON_TYPE.PISTOL); output = TASK_RETURN_STATUS.SUCCEED; //} } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; BlackBoard blackBoard = sAI.GetBlackBoard(); bool b = isTargetVisible(sAI, blackBoard.target); if (b == true) { output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; /* UNLIKE NAME SUGGESTS, it will only return success if the wave is still running) */ if (GameManager.InBreakTime() == false) { output = TASK_RETURN_STATUS.SUCCEED; } //else //{ //sAI.GetBlackboard().WaveNumber++; //} return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); if (bb.distFromTarget < 10.0f) { if (sAI.GetSurvivor().GetWeapon(WEAPON_TYPE.SHOTGUN).getAmmo() > 0) { sAI.GetSurvivor().SwitchWeapons(WEAPON_TYPE.SHOTGUN); output = TASK_RETURN_STATUS.SUCCEED; } } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; if (sAI.GetBlackBoard().target.state != EnemyState.DEAD) { Vector3 runTo = sAI.GetSurvivor().transform.position + ((sAI.GetSurvivor().transform.position - sAI.GetBlackBoard().target.gameObject.transform.position) * 5); sAI.GetSurvivor().MoveTo(runTo); output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Blackboard bb = sAI.GetBlackboard(); if (bb.nodesForAStar.Count > 0) { output = TASK_RETURN_STATUS.SUCCEED; } //for breakpointing else { output = TASK_RETURN_STATUS.FAILED; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; WEAPON_TYPE prevType = sAI.GetSurvivor().GetCurrentWeapon().type; sAI.GetSurvivor().SwitchWeapons(WEAPON_TYPE.GRENADE_LAUNCHER); if (sAI.GetSurvivor().GetCurrentWeapon().getAmmo() > 0) { Enemy target = sAI.GetBlackboard().enemyTarget; sAI.GetSurvivor().Fire(target.transform.position + (sAI.GetEnemyHeightOffset() * Vector3.up)); sAI.GetSurvivor().SwitchWeapons(prevType); output = TASK_RETURN_STATUS.SUCCEED; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; BlackBoard blackBoard = sAI.GetBlackBoard(); Enemy target = blackBoard.target; if (target != null) { sAI.GetSurvivor().Fire(target.transform.position + (Vector3.up * sAI.enemyHeightOffset)); output = TASK_RETURN_STATUS.SUCCESS; } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILED; Enemy e = FindClosestHellephantTarget(sAI); if (e != null) { if (sAI.GetBlackboard().distFromTarget < 20.0f) { sAI.GetBlackboard().enemyTarget = e; output = TASK_RETURN_STATUS.SUCCEED; } } return(output); }
public override TASK_RETURN_STATUS Run(Survivor_AI sAI) { TASK_RETURN_STATUS output = TASK_RETURN_STATUS.FAILURE; for (int i = 0; i < children.Count; i++) { Task child = children [i]; if (child.Run(sAI) == TASK_RETURN_STATUS.SUCCESS) { output = TASK_RETURN_STATUS.SUCCESS; break; } } return(output); }