using System.Collections; using System.Collections.Generic; using UnityEngine; using BITKit; using BITKit.Entities; using KinematicCharacterController; using UnityEngine.InputSystem; using UnityEngine.InputSystem.Interactions; namespace BITFALL.Entites { public partial class EntityKinematicMovement : EntityInputComponent, ICharacterController { public override void OnView(InputAction.CallbackContext context) { if (BITAppForUnity.AllowCursor) { return; } var playerConfig = Data.Get() ?? new(); var ads = Data.Get(_ads); if (ads is 0) ads = 1; var raw = context.ReadValue() * playerConfig.sensitivity * playerConfig.m_yaw * ads; var _lookInput = raw; lookInput.x -= _lookInput.y; lookInput.y += _lookInput.x; lookInput.x = Mathf.Clamp(lookInput.x, -80, 80); entity.Set(_angularVelocity, raw); } public override void OnMovement(InputAction.CallbackContext context) { var _input = context.ReadValue(); moveInput.x = _input.x; moveInput.z = _input.y; } public override void OnRun(InputAction.CallbackContext context) { if (context.performed) { runState.shouldBe = true; crouchState.shouldBe = false; } } public override void OnJump(InputAction.CallbackContext context) { if (context.started) { jumpState.shouldBe = true; } } public override void OnCrouch(InputAction.CallbackContext context) { if (context.started && groundState) { runState.shouldBe = false; crouchState.shouldBe = !crouchState.shouldBe; } } } }