public override ControllState handleInput(BThirdPerson controller, CharacterStats stats) { Vector3 mousePoint = Vector3.zero; stats.healthRegenerationRate = 0f; stats.enduranceRegenerationRate = 0f; if(controller.stateTime < 0.1){ controller.controller.slotRightHand.GetComponent<OWeapon>().enable(); shot = false; Vector2 inputVector = new Vector2(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical")); Vector3 inputVectorTransformed = new Vector3(inputVector.x,0,-inputVector.y); Vector3 lookTarget = controller.position + (ControllerCamera.hingeUp.transform.rotation*inputVectorTransformed); controller.turn(lookTarget); } if(Input.GetButtonDown("attack") && stats.reduceEndurance(7) && !shot){ shot = true; } if(controller.stateTime > 0.22f){ if(shot){ return ControllerKnight._KnightATTACKB; } else{ controller.controller.slotRightHand.GetComponent<OWeapon>().disable(); return ControllerKnight._KnightIDLE; } } return this; }
public override ControllState handleInput(BThirdPerson controller, CharacterStats stats) { Vector2 inputVector = new Vector2(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical")); Vector3 inputVectorTransformed = new Vector3(inputVector.x,0,-inputVector.y); Vector3 lookTarget = controller.position + (ControllerCamera.hingeUp.transform.rotation*inputVectorTransformed); Debug.Log(inputVector.sqrMagnitude); controller.controller.BAudioPlayer.Loop("run_breath_a"); stats.healthRegenerationRate = -0.1f; stats.enduranceRegenerationRate = 5f; if(Input.GetButtonDown("attack") && stats.reduceEndurance(35)){ return ControllerKnight._KnightATTACK; } if(stats.healthFactor <= 0){ return ControllerKnight._KnightDIE; } if(inputVector.sqrMagnitude < 0.5f && controller.stateTime > 0.2f){ return ControllerKnight._KnightSLIDE; } controller.run(0.07f); controller.turn(lookTarget); return ControllerKnight._KnightRUN; return this; }