Updated PlayerController.cs
This commit is contained in:
128
Assets/Scripts/Player/PlayerController.cs
Normal file
128
Assets/Scripts/Player/PlayerController.cs
Normal file
@@ -0,0 +1,128 @@
|
||||
using System;
|
||||
using Movement;
|
||||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
namespace Player
|
||||
{
|
||||
public class PlayerController : MonoBehaviour, IMovement, Input.PlayerInput.IPlayerControlActions
|
||||
{
|
||||
private Input.PlayerInput _controls;
|
||||
private Rigidbody2D _playerRigidbody2D;
|
||||
private SpriteRenderer _playerSpriteRenderer;
|
||||
|
||||
private bool _moveKeyPressed;
|
||||
private bool _jumpKeyPressed;
|
||||
|
||||
private bool _canJump = true;
|
||||
private bool _isOnAir;
|
||||
|
||||
private float _xAxisValue;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
this._playerRigidbody2D = GameObject.Find("Player").GetComponent<Rigidbody2D>();
|
||||
}
|
||||
|
||||
private void OnEnable()
|
||||
{
|
||||
if (_controls == null)
|
||||
{
|
||||
_controls = new Input.PlayerInput();
|
||||
_controls.PlayerControl.SetCallbacks(this);
|
||||
}
|
||||
|
||||
_controls.PlayerControl.Enable();
|
||||
}
|
||||
|
||||
private void OnDisable()
|
||||
{
|
||||
_controls.Disable();
|
||||
}
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (_moveKeyPressed)
|
||||
Move(_xAxisValue);
|
||||
else
|
||||
_playerRigidbody2D.velocity = new Vector2(0.0f, _playerRigidbody2D.velocity.y);
|
||||
|
||||
if (_jumpKeyPressed)
|
||||
Jump();
|
||||
}
|
||||
|
||||
// PAUSE METHODS
|
||||
|
||||
public bool IsPaused { get; }
|
||||
|
||||
public void Pause()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public void Resume()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
// MOVE METHODS
|
||||
|
||||
public float BaseSpeed { get; set; }
|
||||
|
||||
public void Move(float value)
|
||||
{
|
||||
switch (_xAxisValue)
|
||||
{
|
||||
case < 0:
|
||||
_playerSpriteRenderer.flipX = true;
|
||||
break;
|
||||
case > 0:
|
||||
_playerSpriteRenderer.flipX = false;
|
||||
break;
|
||||
}
|
||||
|
||||
_playerRigidbody2D.velocity = new Vector2(BaseSpeed * _xAxisValue * Time.fixedDeltaTime,
|
||||
_playerRigidbody2D.velocity.y);
|
||||
}
|
||||
|
||||
private void Jump()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void Climb()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
// INPUT HANDLING
|
||||
|
||||
public void OnMove(InputAction.CallbackContext context)
|
||||
{
|
||||
switch (context.canceled)
|
||||
{
|
||||
case true:
|
||||
_moveKeyPressed = false;
|
||||
break;
|
||||
case false:
|
||||
_moveKeyPressed = true;
|
||||
_xAxisValue = context.ReadValue<float>();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void OnJump(InputAction.CallbackContext context)
|
||||
{
|
||||
switch (context.canceled)
|
||||
{
|
||||
case true:
|
||||
_jumpKeyPressed = false;
|
||||
_canJump = true;
|
||||
break;
|
||||
case false:
|
||||
_jumpKeyPressed = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/Player/PlayerController.cs.meta
Normal file
11
Assets/Scripts/Player/PlayerController.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e9f5de2199c4784abce74247804ce87
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user