// returns initial state private State InitStates() { aiTools = GetComponent <AiTools>(); aiTools.Init(); SearchEnemy searchEnemyState = new SearchEnemy(aiTools); SearchHealthPack searchHealthPackState = new SearchHealthPack(aiTools); Attack attackState = new Attack(aiTools); Defence defenceState = new Defence(aiTools); searchEnemyState.AddTransition( new Transition( () => aiTools.agentState.isEnemyVisible, attackState ) ); searchEnemyState.AddTransition( new Transition( () => (aiTools.world.healthPacksAvailable > 0) && (aiTools.agentState.health <= GameDefines.LOW_HP), searchHealthPackState ) ); attackState.AddTransition( new Transition( () => (aiTools.agentState.health <= GameDefines.MEDIUM_HP), defenceState ) ); attackState.AddTransition( new Transition( () => (aiTools.agentState.health > GameDefines.MEDIUM_HP) && !aiTools.agentState.isEnemyVisible, searchEnemyState ) ); defenceState.AddTransition( new Transition( () => (aiTools.world.healthPacksAvailable > 0) && ((aiTools.agentState.health <= GameDefines.LOW_HP) || !aiTools.agentState.isEnemyVisible), searchHealthPackState ) ); defenceState.AddTransition( new Transition( () => (!aiTools.agentState.isEnemyVisible && ((aiTools.world.healthPacksAvailable == 0) || aiTools.agentState.health > GameDefines.LOW_HP)), searchEnemyState ) ); searchHealthPackState.AddTransition( new Transition( () => (aiTools.agentState.health > GameDefines.LOW_HP) || (aiTools.world.healthPacksAvailable == 0), searchEnemyState ) ); return(searchEnemyState); }
void Awake() { animator = GetComponent <Animator>(); conLobbyComponent = GameObject.Find("ConnectionLobby").GetComponent <ConnectionLobby>(); searchEnemyComponent = GetComponentInChildren <SearchEnemy>(); _animation = GetComponent <Animation>(); }
protected override void Start() { base.Start(); normalAttack = GetComponent <PlayerNormalAttack>(); searchEnemy = GetComponent <SearchEnemy>(); searchCharactor = GetComponent <SearchCharacter>(); }
// Use this for initialization void Start() { characterController = GetComponent <CharacterController>(); //animator = GetComponent<Animator>(); searchEnemy = GetComponentInChildren <SearchEnemy>(); state = State.Normal; }
void Start() { _instance = this; viewEuler = GetComponent <PlayerStatus>().ViewEuler; _transform = transform; var lockOnTextObj = GameObject.Find("LockOnText"); if (lockOnTextObj) { lockOnText = lockOnTextObj.GetComponent <Text>(); lockOnText.text = ""; } }
//Método para movimiento del personaje public override Locomotion.MoveDirection GetNextMove(BoardInfo board, CellInfo currentPos, CellInfo[] goals) { //si hay enemigos en la lista y aun no han sido eliminados, procede a perseguirlos if (!allEliminated) { SearchEnemy getEnemy = new SearchEnemy(); direction = getEnemy.Search(board, currentPos, goals); if (direction == 9999) { allEliminated = true; } } else //Al no haber enemigos, avanza a la meta { if (!nodesSet) { CreateNodesBoard(board); currentPlan = FindPath(board, nodes[currentPos.ColumnId, currentPos.RowId], nodes[goals[0].ColumnId, goals[0].RowId]); nodesSet = true; } if (currentPlan.Count() > 0) { direction = currentPlan.Pop(); } } // Se lee el número asignado a "direction" para hacer el movimiento segun el caso switch (direction) { case 0: return(Locomotion.MoveDirection.Up); case 1: return(Locomotion.MoveDirection.Right); case 2: return(Locomotion.MoveDirection.Down); case 3: return(Locomotion.MoveDirection.Left); default: return(Locomotion.MoveDirection.None); } }
void Start() { // enemy = GameObject.Find("Player"); // //script = enemy.GetComponent<SearchEnemy>(); searchEnemy = GetComponentInChildren <SearchEnemy>(); }
public CheckHealthEnergy(Character _character) : base(_character) { nodeTrue = new SearchEnemy(_character); nodeFalse = new RandomDecision(new SearchHealth(_character), new SearchEnergy(_character)); }