split into multiple assemblies
This commit is contained in:
53
Assets/Desert/Runtime/Button.cs
Normal file
53
Assets/Desert/Runtime/Button.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user