53 lines
1.1 KiB
C#
53 lines
1.1 KiB
C#
using NaughtyAttributes;
|
|
using UnityEngine;
|
|
|
|
namespace EscapeRoomEngine.Desert.Runtime
|
|
{
|
|
public class Button : MonoBehaviour
|
|
{
|
|
public bool Active
|
|
{
|
|
get => _active;
|
|
private set
|
|
{
|
|
_active = value;
|
|
Pressed = Pressed; // check whether is still pressed
|
|
}
|
|
}
|
|
|
|
public virtual bool Pressed
|
|
{
|
|
get => _pressed;
|
|
protected set
|
|
{
|
|
_pressed = Active && value;
|
|
}
|
|
}
|
|
|
|
private bool _active, _pressed;
|
|
|
|
[Button(enabledMode: EButtonEnableMode.Playmode)]
|
|
public void Enable()
|
|
{
|
|
Active = true;
|
|
}
|
|
|
|
[Button(enabledMode: EButtonEnableMode.Playmode)]
|
|
public void Disable()
|
|
{
|
|
Active = false;
|
|
}
|
|
|
|
[Button(enabledMode: EButtonEnableMode.Playmode)]
|
|
public void Press()
|
|
{
|
|
Pressed = true;
|
|
}
|
|
|
|
[Button(enabledMode: EButtonEnableMode.Playmode)]
|
|
public void Release()
|
|
{
|
|
Pressed = false;
|
|
}
|
|
}
|
|
} |