Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function chaseMove() : IEnumerator{
- var x;
- var z;
- //check for collisions, check for route to player
- var pX : float;
- var pZ : float;
- var mX : float;
- var mZ : float;
- var player = GameObject.FindWithTag("Player");
- pX = player.transform.position.x;
- pZ = player.transform.position.z;
- mX = transform.position.x;
- mZ = transform.position.z;
- var rotation : float;
- //GameObject.FindObjectOfType<--research
- speed = 10; //Bump up speed, monster is chasing (running)
- while(state==move_state.chasing){
- playerDist = Vector3.Distance(player.transform.position, transform.position);
- if(playerDist<=2){
- attack();
- }
- if((pX>mX||pX<mX)&&(pZ>mZ||pZ<mZ)){
- if(pX>mX){
- rotation = player.transform.position.x-transform.position.x;
- transform.Rotate(Vector3.up*Time.deltaTime*rotation);
- }
- else if(pX<mX){
- rotation = transform.position.x-player.transform.position.x;
- transform.Rotate(Vector3.up*Time.deltaTime*rotation);
- }
- x = Time.deltaTime * speed;
- z = Time.deltaTime * speed;
- transform.Translate(0,0,z);
- }
- else if(pX>mX||pX<mX){ //Choose whether to go forward/backward or left/right
- if(playerDist>=hearDist){
- setState(move_state.searching);
- turn = false;
- }
- x = Time.deltaTime * speed;
- transform.Translate(x,0,0); //Translate forward 6 units per second
- }
- else if(pZ>mZ||pZ<mZ){
- if(playerDist>=hearDist){
- setState(move_state.searching);
- turn = false;
- }
- z = Time.deltaTime * speed;
- transform.Translate(0,0,z); //Same settings as x move
- }
- yield; //Wait until next frame
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement