using System;
using UnityEngine.InputSystem;
public class PlayerController : MonoBehaviour
{
public PlayerInputController inputControl;
public Vector2 inputDirection;
[Header("基本参数")]
public float speed;
public float jumpForce;
private Rigidbody rig;
private void Awake()
{
inputControl = new PlayerInputController();
rig = GetComponent<Rigidbody>();
inputControl.Gameplay.Jump.started += Jump;
}
private void OnEnable()
{
inputControl.Enable();
}
private void OnDisable()
{
inputControl.Disable();
}
private void Update()
{
inputDirection = inputControl.Gameplay.Move.ReadValue<Vector2>();
}
private void FixedUpdate()
{
Move();
}
public void Move()
{
rig.velocity = new Vector3(inputDirection.x * speed * Time.deltaTime,
rig.velocity.y, inputDirection.z);
}
public void Jump(InputAction.CallbackContext obj)
{
rig.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
}
}