BITKit/Packages/Runtime~/Unity/Scripts/SubSystems/Input/BITInputSystem.cs

187 lines
7.2 KiB
C#
Raw Normal View History

2023-06-05 19:57:17 +08:00
/* using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using BITKit.BITInputSystem;
using BITKit;
namespace BITKit.SubSystems.Input
{
[SubSystemConfig(isMainThread = true)]
public class BITInputSystem : SubBITSystem, BITController.IGameplayActions, BITController.IUIActions
{
[ExcuteOnStart]
static void Reload()
{
BITSystems.GetOrCreate<BITInputSystem>();
}
public const string _inputSystem_enabled = "InputSystem_Enabled";
ValidHandle enabled = new();
BITController controller;
public override void OnCreate()
{
controller = new();
enabled.AddListener(SetActive);
Data.AddListener<bool>(_inputSystem_enabled, x =>
{
enabled.SetElements(this, x);
}, true);
}
public virtual void OnMovement(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnMovement), context);
}
public virtual void OnView(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnView), context);
}
public virtual void OnJump(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnJump), context);
}
public virtual void OnCrouch(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnCrouch), context);
}
public virtual void OnHoldCrouch(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnHoldCrouch), context);
}
public virtual void OnFire(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnFire), context);
}
public virtual void OnAim(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnAim), context);
}
public virtual void OnInteractive(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnInteractive), context);
}
public virtual void OnAbility(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnAbility), context);
}
public virtual void OnMelee(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnMelee), context);
}
public virtual void OnRun(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnRun), context);
}
public virtual void OnRunHold(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnRunHold), context);
}
public virtual void OnReload(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnReload), context);
}
public virtual void OnPrimary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnPrimary), context);
}
public virtual void OnSecondary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnSecondary), context);
}
public virtual void OnTertiary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnTertiary), context);
}
public virtual void OnQuaternary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnQuaternary), context);
}
public virtual void OnQuinary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnQuinary), context);
}
public virtual void OnSenary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnSenary), context);
}
public virtual void OnSeptenary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnSeptenary), context);
}
public virtual void OnOctonary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnOctonary), context);
}
public virtual void OnNonary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnNonary), context);
}
public virtual void OnDenary(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnDenary), context);
}
public virtual void OnPoint(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnPoint), context);
}
public virtual void OnLeftClick(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnLeftClick), context);
}
public virtual void OnMiddleClick(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnMiddleClick), context);
}
public virtual void OnRightClick(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnRightClick), context);
}
public virtual void OnScrollWheel(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnScrollWheel), context);
}
public virtual void OnMove(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnMove), context);
}
public virtual void OnSubmit(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnSubmit), context);
}
public virtual void OnCancel(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnCancel), context);
}
public virtual void OnTrackedPosition(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnTrackedPosition), context);
}
public virtual void OnTrackedOrientation(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnTrackedOrientation), context);
}
public virtual void OnInventory(InputAction.CallbackContext context)
{
Data.Set<InputAction.CallbackContext>(nameof(OnInventory), context);
}
void SetActive(bool active)
{
if (active)
{
controller.Gameplay.Enable();
controller.UI.Enable();
controller.Gameplay.SetCallbacks(this);
controller.UI.SetCallbacks(this);
}
else
{
controller.Gameplay.Disable();
controller.UI.Disable();
Data.Clear<InputAction.CallbackContext>();
}
BIT4Log.Log<BITInputSystem>(active);
}
}
}
*/