Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Collections;
- using System.Collections.Generic;
- using Unity.Netcode;
- using UnityEngine;
- using UnityEngine.InputSystem;
- public class InputManager : NetworkBehaviour
- {
- private AnimatorManager animatorManager;
- [SerializeField] private Vector2 movementInput;
- [SerializeField] private bool jumpInput;
- public float moveAmount;
- public float verticalInput;
- public float horizontalInput;
- private PlayerControls playerControls;
- private PlayerControls PlayerControls {
- get {
- if (playerControls != null) {
- return playerControls;
- }
- return playerControls = new PlayerControls();
- }
- }
- private void Awake() {
- animatorManager = GetComponent<AnimatorManager>();
- }
- public override void OnNetworkSpawn() {
- base.OnNetworkSpawn();
- if (IsLocalPlayer) {
- enabled = true;
- } else {
- enabled = false;
- }
- PlayerControls.PlayerMovement.Movement.performed += ctx => SetMovement(ctx.ReadValue<Vector2>());
- PlayerControls.PlayerMovement.Movement.canceled += ctx => CancelMovement();
- PlayerControls.PlayerMovement.Jump.performed += ctx => jumpInput = true;
- }
- private void SetMovement(Vector2 inputVector) => movementInput = inputVector;
- private void CancelMovement() => movementInput = Vector2.zero;
- private void OnEnable() {
- PlayerControls.Enable();
- }
- private void OnDisable() {
- playerControls.Disable();
- }
- public void EnableControl() {
- playerControls.Enable();
- }
- public void DisableControl() {
- playerControls.Disable();
- }
- public void FixedUpdate() {
- /*if (IsClient && IsOwner) {
- SetMovementInputServerRpc(movementInput);
- }*/
- //if (!IsLocalPlayer) return;
- HandleMovementInput();
- }
- private void HandleMovementInput() {
- verticalInput = movementInput.y;
- horizontalInput = movementInput.x;
- moveAmount = Mathf.Clamp01(Mathf.Abs(horizontalInput) + Mathf.Abs(verticalInput));
- animatorManager.UpdateAnimatorValues(horizontalInput, moveAmount);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement