UP-Viagg-io/Viagg-io/Assets/afca/ViaggioAI/Scripts/Helpers/UnityKeyPressHandler.cs

76 lines
1.3 KiB
C#
Executable File

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
[Serializable]
public struct KeyPressAction
{
[SerializeField]
private KeyCode keyCode;
[SerializeField]
private UnityEvent action;
public KeyCode KeyCode => keyCode;
public UnityEvent Action => action;
}
public class UnityKeyPressHandler : MonoBehaviour
{
#region Inspector Properties
[Header("Config Values")]
[SerializeField]
private List<KeyPressAction> keyPressActions;
#endregion
#region Public Properties
#endregion
#region Private Properties
#endregion
#region Framework Functions
void Update()
{
if (Application.isEditor)
{
this.checkForUnityKeyPress();
}
}
#endregion
#region Events
#endregion
#region Public Functions
#endregion
#region Private Functions
private void checkForUnityKeyPress()
{
foreach (KeyPressAction action in this.keyPressActions)
{
if (Input.GetKeyDown(action.KeyCode))
{
action.Action.Invoke();
}
}
}
#endregion
}