Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class PlayerMovement : MonoBehaviour
- {
- public CharacterController controller;
- public Animator animator;
- public CapsuleCollider2D basicAttackCollider;
- public string axisID, jumpID, crouchID, basicAttackID;
- public float runSpeed = 45f;
- float horizontalMove = 0f;
- bool jump = false, crouch = false, basicAttack = false;
- private void Awake()
- {
- basicAttackCollider.gameObject.SetActive(false);
- }
- private void Update()
- {
- horizontalMove = Input.GetAxisRaw(axisID) * runSpeed;
- animator.SetFloat("Speed", Mathf.Abs(horizontalMove));
- if (Input.GetButtonDown(jumpID))
- {
- jump = true;
- animator.SetBool("IsJumping", true);
- }
- if (Input.GetButton(crouchID))
- {
- crouch = true;
- }
- else if (Input.GetButtonUp(crouchID))
- {
- crouch = false;
- }
- if (Input.GetButtonDown(basicAttackID) && !basicAttack && !animator.GetBool("IsJumping"))
- {
- basicAttack = true;
- basicAttackCollider.gameObject.SetActive(true);
- animator.SetBool("IsBasicAttacking", basicAttack);
- }
- }
- private void FixedUpdate()
- {
- controller.Move(horizontalMove * Time.fixedDeltaTime, crouch, jump);
- jump = false;
- }
- public void OnLanding()
- {
- animator.SetBool("IsJumping", false);
- }
- public void OnCrouching(bool isCrouching)
- {
- animator.SetBool("IsCrouching", isCrouching);
- }
- private void Event_BasicAttackDone()
- {
- basicAttack = false;
- basicAttackCollider.gameObject.SetActive(false);
- animator.SetBool("IsBasicAttacking", basicAttack);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement