Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.37 KB | None | 0 0
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.AI;
  4.  
  5. public class WalkState : CharacterState
  6. {
  7. public override void MovementMotor()
  8. {
  9. if (charManager.Destination == null)
  10. {
  11. float h = Input.GetAxis("Horizontal");
  12. float v = Input.GetAxis("Vertical");
  13. Vector3 camForward_Dir = Vector3.Scale(Camera.main.transform.forward, new Vector3(1, 0, 1)).normalized;
  14. Vector3 move = v * camForward_Dir + h * Camera.main.transform.right;
  15. if (move.magnitude > 1f)
  16. move.Normalize();
  17. move = charManager.transform.InverseTransformDirection(move);
  18. float turnAmount = Mathf.Atan2(move.x, move.z);
  19. charManager.transform.Rotate(0, turnAmount * charManager.RotationSpeed * Time.deltaTime, 0);
  20.  
  21. if (charManager._characterController.isGrounded)
  22. {
  23. charManager._moveDirection = transform.forward * move.magnitude;
  24.  
  25. charManager._moveDirection *= charManager.Speed;
  26. }
  27. charManager._moveDirection.y -= charManager.Gravity * Time.deltaTime;
  28.  
  29.  
  30. if (move.magnitude <= 0)
  31. {
  32. ChangeState(charManager.Idle);
  33. return;
  34. }
  35. }
  36. if (charManager.Destination != null)
  37. {
  38. if (Vector3.Distance(charManager.Destination.position, charManager.transform.position) < 15)
  39. {
  40. charManager.skill = new Skill()
  41. {
  42. effectPrefab = Resources.Load("Effect1") as GameObject,
  43. animName = "attack1",
  44. skillType = SkillType.MAGIC,
  45. AttachPoint = GameManager.instance.playerList[charManager.myIndex].GetComponent<RFX4_EffectEvent>().AttachPoint,
  46. CharacterAttach = GameManager.instance.playerList[charManager.myIndex].GetComponent<RFX4_EffectEvent>().CharacterAttachPoint,
  47. target = GameManager.instance.playerList[charManager.myIndex].GetComponent<CombatScript>().selectedTarget
  48. };
  49. ChangeState(charManager.MagicCombatState);
  50. return;
  51. }
  52. else
  53. {
  54. charManager.navAgent.updateRotation = true;
  55. }
  56. }
  57. }
  58.  
  59. public override void ProcessInput()
  60. {
  61. if (charManager._characterController.isGrounded)
  62. {
  63. if (Input.GetButton("Jump"))
  64. {
  65. charManager._moveDirection.y = charManager.JumpSpeed;
  66. ChangeState(charManager.JumpState);
  67. }
  68. }
  69. }
  70.  
  71. public override void UpdateState()
  72. {
  73. //if(charManager.Destination == null)
  74. charManager._characterController.Move(charManager._moveDirection * Time.deltaTime);
  75. //else
  76. if (charManager.Destination != null)
  77. {
  78. if (Vector3.Distance(charManager.Destination.position, charManager.transform.position) > 15)
  79. {
  80. charManager.navAgent.SetDestination(charManager.Destination.position);
  81. }
  82. }
  83. }
  84.  
  85. protected override void OnDisable()
  86. {
  87. charManager._animator.SetBool("run", false);
  88. }
  89.  
  90. protected override void OnEnable()
  91. {
  92. charManager._animator.SetBool("run", true);
  93. }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement