using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// Manages player controls and input key bindings.
/// </summary>
public class Controls : MonoBehaviour
{
    [Header("Player Control & Input")]

    [Header("Rotation")]
    public KeyCode[] rotateLeft = { KeyCode.A }; // Key(s) for rotating left
    public KeyCode[] rotateRight = { KeyCode.D }; // Key(s) for rotating right

    [Header("Movement")]
    public KeyCode[] moveForwardKeys = { KeyCode.W }; // Key(s) for moving forward
    public KeyCode[] moveBackwardKeys = { KeyCode.S }; // Key(s) for moving backward

    [Header("Actions")]
    public KeyCode[] shootKeys = { KeyCode.Space }; // Key(s) for shooting
    public KeyCode[] dashKeys = { KeyCode.LeftShift }; // Key(s) for dashing

    [Header("UI")]
    public KeyCode[] HUDKeys = { KeyCode.Q }; // Key(s) for accessing HUD
    public KeyCode[] pauseKeys = { KeyCode.Tab }; // Key(s) for pausing the game

    public static Controls instance; // Singleton instance reference

    private void Awake()
    {
        instance = this; // Set the singleton instance reference
    }
}
