// Update is called once per frame void Update() { if(stunned) { stunTimer += Time.deltaTime; if(stunTimer > 2.0f) { stunTimer = 0.0f; stunned = false; }else return; } rigidbody.velocity = new Vector3(0,0,0); if(!mAttacking) { if(Input.GetKey(KeyCode.W)) { transform.Translate(Vector3.up * movSpeedY * Time.deltaTime); mAnimator.PlayAnimation("Walk Up", true); mOrientation = Orientation.UP; mMoving = true; }else if(Input.GetKey(KeyCode.A)) { transform.Translate(Vector3.left * movSpeedX * Time.deltaTime); mAnimator.PlayAnimation("Walk Left", true); mOrientation = Orientation.LEFT; mMoving = true; }else if(Input.GetKey(KeyCode.S)) { transform.Translate(Vector3.down * movSpeedY * Time.deltaTime); mAnimator.PlayAnimation("Walk Down", true); mOrientation = Orientation.DOWN; mMoving = true; }else if(Input.GetKey(KeyCode.D)) { transform.Translate(Vector3.right * movSpeedX * Time.deltaTime); mAnimator.PlayAnimation("Walk Right", true); mOrientation = Orientation.RIGHT; mMoving = true; }else if(mMoving) { if(mOrientation == Orientation.RIGHT) mAnimator.PlayAnimation("Standing Right", false); else if(mOrientation == Orientation.LEFT) mAnimator.PlayAnimation("Standing Left", false); else if(mOrientation == Orientation.UP) mAnimator.PlayAnimation("Standing Up", false); else if(mOrientation == Orientation.DOWN) mAnimator.PlayAnimation("Standing Down", false); mMoving = false; } } if(!mAttacking) { if(Input.GetKey(KeyCode.Space)) { CustomEvent evt = new CustomEvent("Sword Attack"); audio.PlayOneShot(swordSwing); if(mOrientation == Orientation.LEFT) { mAnimator.PlayAnimation("Sword Left", false); evt.AddParam((int)transform.position.x - 64); evt.AddParam((int)transform.position.y); }else if(mOrientation == Orientation.RIGHT) { mAnimator.PlayAnimation("Sword Right", false); evt.AddParam((int)transform.position.x + 64); evt.AddParam((int)transform.position.y); }else if(mOrientation == Orientation.UP) { mAnimator.PlayAnimation("Sword Up", false); evt.AddParam((int)transform.position.x); evt.AddParam((int)transform.position.y + 64); }else if(mOrientation == Orientation.DOWN) { mAnimator.PlayAnimation("Sword Down", false); evt.AddParam((int)transform.position.x); evt.AddParam((int)transform.position.y - 64); } evt.AddParam(2); //add attack damage eventMan.PostEvent(evt); }else if(Input.GetKey(KeyCode.E)) //Firing our Gun { GameObject lazer; if(mOrientation == Orientation.LEFT){ mAnimator.PlayAnimation("Gun Left", false); lazer = Instantiate(LaserBeam, new Vector3(transform.position.x - 60,transform.position.y,7.2f), transform.rotation) as GameObject; LazerBeam script = lazer.GetComponent("LazerBeam") as LazerBeam; lazer.transform.localEulerAngles = new Vector3(0,0,-90); script.setDirection(Vector3.down); } else if(mOrientation == Orientation.RIGHT){ mAnimator.PlayAnimation("Gun Right", false); lazer = Instantiate(LaserBeam, new Vector3(transform.position.x + 60,transform.position.y,7.2f), transform.rotation) as GameObject; LazerBeam script = lazer.GetComponent("LazerBeam") as LazerBeam; lazer.transform.localEulerAngles = new Vector3(0,0,90); script.setDirection(Vector3.down); } else if(mOrientation == Orientation.UP){ mAnimator.PlayAnimation("Gun Up", false); lazer = Instantiate(LaserBeam, new Vector3(transform.position.x,transform.position.y + 60,7.2f), transform.rotation) as GameObject; LazerBeam script = lazer.GetComponent("LazerBeam") as LazerBeam; lazer.transform.localEulerAngles = new Vector3(0,0,180); script.setDirection(Vector3.down); } else if(mOrientation == Orientation.DOWN){ mAnimator.PlayAnimation("Gun Down", false); lazer = Instantiate(LaserBeam, new Vector3(transform.position.x,transform.position.y - 70,7.2f), transform.rotation) as GameObject; LazerBeam script = lazer.GetComponent("LazerBeam") as LazerBeam; script.setDirection(Vector3.down); } } } if(mAnimator.IsRunning("Sword Right") || mAnimator.IsRunning("Sword Left") || mAnimator.IsRunning("Sword Up") || mAnimator.IsRunning("Sword Down") || mAnimator.IsRunning("Gun Left") || mAnimator.IsRunning("Gun Right") || mAnimator.IsRunning("Gun Down") || mAnimator.IsRunning("Gun Up")) { mAttacking = true; }else { mAttacking = false; } mAnimator.Update(Time.deltaTime); }