using System;
using Intrepid.Core;
using UnityEngine;

namespace Intrepid.Gameplay.Entities.Player.PDA.Inputs
{
    [CreateAssetMenu(fileName = "PDA Input Resolver", menuName = "GON/Services/PDA Input Resolver")]
    public class PDAInputResolver : InputResolver, PDAInputs
    {
        private PDAInputActions PDAInputActions { get; set; }

        public override void Setup()
        {
            PDAInputActions = PDAInputActions.BuildPDAInputActions();
        }

        public DPad DPad => PDAInputActions.DPad;
        public Func<bool> Cancel => PDAInputActions.Cancel;
        public Func<bool> Enter => PDAInputActions.Enter;
        public Func<bool> ExitPDA => PDAInputActions.ExitPDA;
        public Func<bool> ShoulderLeft => PDAInputActions.ShoulderLeft;
        public Func<bool> ShoulderRight => PDAInputActions.ShoulderRight;
        public Func<float> TriggerLeft => PDAInputActions.TriggerLeft;
        public Func<float> TriggerRight => PDAInputActions.TriggerRight;
        public Func<bool> HasTriggerInput => PDAInputActions.HasTriggerInput;
    }
}