Advertisement
Guest User

input code

a guest
Jan 26th, 2022
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.24 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using Unity.Netcode;
  4. using UnityEngine;
  5. using UnityEngine.InputSystem;
  6.  
  7. public class InputManager : NetworkBehaviour
  8. {
  9.     private AnimatorManager animatorManager;
  10.  
  11.     [SerializeField] private Vector2 movementInput;
  12.     [SerializeField] private bool jumpInput;
  13.  
  14.     public float moveAmount;
  15.     public float verticalInput;
  16.     public float horizontalInput;
  17.  
  18.     private PlayerControls playerControls;
  19.  
  20.     private PlayerControls PlayerControls {
  21.         get {
  22.             if (playerControls != null) {
  23.                 return playerControls;
  24.             }
  25.             return playerControls = new PlayerControls();
  26.         }
  27.     }
  28.  
  29.     private void Awake() {
  30.         animatorManager = GetComponent<AnimatorManager>();
  31.     }
  32.  
  33.     public override void OnNetworkSpawn() {
  34.         base.OnNetworkSpawn();
  35.  
  36.         if (IsLocalPlayer) {
  37.             enabled = true;
  38.         } else {
  39.             enabled = false;
  40.         }
  41.  
  42.         PlayerControls.PlayerMovement.Movement.performed += ctx => SetMovement(ctx.ReadValue<Vector2>());
  43.         PlayerControls.PlayerMovement.Movement.canceled += ctx => CancelMovement();
  44.         PlayerControls.PlayerMovement.Jump.performed += ctx => jumpInput = true;
  45.     }
  46.  
  47.     private void SetMovement(Vector2 inputVector) => movementInput = inputVector;
  48.     private void CancelMovement() => movementInput = Vector2.zero;
  49.  
  50.     private void OnEnable() {
  51.         PlayerControls.Enable();
  52.     }
  53.  
  54.     private void OnDisable() {
  55.         playerControls.Disable();
  56.     }
  57.  
  58.     public void EnableControl() {
  59.         playerControls.Enable();
  60.     }
  61.  
  62.     public void DisableControl() {
  63.         playerControls.Disable();
  64.     }
  65.  
  66.     public void FixedUpdate() {
  67.         /*if (IsClient && IsOwner) {
  68.             SetMovementInputServerRpc(movementInput);
  69.         }*/
  70.         //if (!IsLocalPlayer) return;
  71.  
  72.         HandleMovementInput();
  73.     }
  74.  
  75.     private void HandleMovementInput() {
  76.         verticalInput = movementInput.y;
  77.         horizontalInput = movementInput.x;
  78.         moveAmount = Mathf.Clamp01(Mathf.Abs(horizontalInput) + Mathf.Abs(verticalInput));
  79.         animatorManager.UpdateAnimatorValues(horizontalInput, moveAmount);
  80.     }
  81.    
  82. }
  83.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement