Files
CourierOld/Game/CourierOld/Assets/Code/Gameplay/Player/Player.cs
T

56 lines
1.4 KiB
C#

using Code.Gameplay.Player;
using Code.Input;
using Reflex.Attributes;
using UnityEngine;
using CharacterController = Code.Gameplay.Player.CharacterController;
public class Player : MonoBehaviour
{
[SerializeField]
private PlayerCamera playerCamera;
[SerializeField]
private CharacterController characterController;
[SerializeField]
private Transform cameraFollowPoint;
[Inject] private IInputService _inputService;
private Vector3 _lookInputVector;
private void Start()
{
playerCamera.SetFollowTransform(cameraFollowPoint);
}
private void HandleCameraInput()
{
var lookInput = _inputService.LookInput;
var scrollInput = _inputService.ZoomInput;
playerCamera.UpdateWithInput(Time.deltaTime, scrollInput,
new Vector3(lookInput.x, lookInput.y, 0));
}
private void HandleCharacterInput()
{
PlayerInputs inputs = new PlayerInputs();
Vector2 moveInput = _inputService.MoveInput;
inputs.MoveAxisForward = moveInput.y;
inputs.MoveAxisRight = moveInput.x;
inputs.CameraRotation = playerCamera.transform.rotation;
characterController.SetInputs(ref inputs);
}
private void Update()
{
HandleCharacterInput();
}
private void LateUpdate()
{
HandleCameraInput();
}
}