public override void Enter(BEnemy owner) { //turn on FOV visualization owner.GetComponent <EnemyVision>().enabled = true; owner.playerSpotted = false; var patrolBehavior = owner.GetComponent <Pathfinding.PatrolBackAndForth>(); patrolBehavior.setRoomWaypoints(4, 1f); patrolBehavior.enabled = true; }
public override void Enter(BEnemy owner) { owner.GetComponent <Rigidbody2D>().velocity = new Vector2(0, 0); IEnumerator attackCoroutine = owner.attackPatterns.shootStraight(owner.transform.Find("Gun").gameObject, ((EnemyPatrol)owner).bullet, 3, .5f); owner.taskList["Shoot"] = new Task(attackCoroutine); owner.transform.Find("Texture").GetComponent <Animator>().SetTrigger("isShooting"); ((EnemyPatrol)owner).playAttackSound(); --owner.currAmmo; }
public override void Exit(BEnemy owner) { owner.taskList.Stop("LookAtMe"); var ai = owner.GetComponent <Pathfinding.IAstarAI>(); if (ai != null) { ai.isStopped = false; } }
public override void Enter(BEnemy owner) { var ai = owner.GetComponent <Pathfinding.IAstarAI>(); if (ai != null) { ai.isStopped = true; } owner.taskList["LookAtMe"] = new Task(owner.RotateTo(lookPosition, 5f)); }
public override void Enter(BEnemy owner) { //turn off FOV visualization owner.GetComponent <EnemyVision>().enabled = false; owner.pathFinder.destination = owner.player.transform.position; owner.pathFinder.isStopped = false; owner.soundManager.Play("Ghost_Screaming"); //Alert boss player's whereabouts var alertBoss = new ComeToMeEvent(owner.transform.position); alertBoss.addListener(GameObject.Find("Boss")); EventManager.Instance.addEvent(alertBoss, 0); }
public override void Enter(BEnemy owner) { owner.isDead = true; //turn off FOV visualization owner.viewMeshFilter.SetActive(false); //turn off all waypoints owner.castTo <EnemyPatrol>().disableWaypoints(); //set velocity to zero owner.GetComponent <Rigidbody2D>().velocity = Vector3.zero; //drop item GameObject.Instantiate(owner.itemDrop, owner.transform.position, Quaternion.identity); //play animation owner.transform.Find("Texture").GetComponent <Animator>().SetTrigger("isDead"); }
public override void Execute(BEnemy owner) { owner.GetComponent <Rigidbody2D>().velocity = new Vector3(0, 0, 0); //check if player is spotted every udpate owner.playerSpotted = owner.enemyVision.hasSeen("Player"); //Change to attack state if player is spotted if (owner.playerSpotted) { owner.mainFSM.changeState(AlertBoss.Instance); } //Reverts back to patrol waypoint state after coroutine is done running if (!owner.taskList.Running("LookAtMe")) { owner.mainFSM.changeState(PatrolWaypoint.Instance); } }
public override void Enter(BEnemy owner) { //turn off FOV visualization owner.GetComponent <EnemyVision>().enabled = false; owner.pathFinder.isStopped = true; //drop item if (owner.itemDrop != null) { GameObject.Instantiate(owner.itemDrop, owner.transform.position, Quaternion.identity); } //play animation owner.transform.Find("Texture").GetComponent <SpriteRenderer>().enabled = false; //Give 1 health to player var giveHealth = new HealEvent(1); giveHealth.addListener(GameObject.Find("Player")); EventManager.Instance.addEvent(giveHealth); }
public override void Execute(BEnemy owner) { owner.GetComponent <Rigidbody2D>().velocity = new Vector3(0, 0, 0); //check if player is spotted every udpate owner.playerSpotted = owner.enemyVision.checkVision(); //Change to attack state if player is spotted if (owner.playerSpotted) { owner.mainFSM.changeState(AttackPlayer.Instance); } //overrides current state for a new lookatme if (owner.messageReceiver.message == message_type.lookAtMe) { owner.mainFSM.reenterState(); } //Reverts back to patrol waypoint state after coroutine is done running if (!owner.taskList["LookAtMe"].Running) { owner.mainFSM.changeState(PatrolWaypoint.Instance); } }
public override void Exit(BEnemy owner) { var patrolBehavior = owner.GetComponent <Pathfinding.PatrolBackAndForth>(); patrolBehavior.enabled = false; }