chore: updated engine with the more readable button inputs syntax
This commit is contained in:
@@ -11,17 +11,17 @@ namespace MyUniverse.Platforms.Android;
|
||||
|
||||
public class MobileInputs : Behaviour, IUpdate, IGameInputs
|
||||
{
|
||||
public Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> OnAnyButtonPressed { get; } = new();
|
||||
public Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> OnAnyButtonReleased { get; } = new();
|
||||
public IButtonInputs<IGameInputs.Button>.InputEvent OnAnyButtonPressed { get; } = new();
|
||||
public IButtonInputs<IGameInputs.Button>.InputEvent OnAnyButtonReleased { get; } = new();
|
||||
|
||||
private readonly Dictionary<IGameInputs.Button, Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments>> OnPressed = new(256);
|
||||
private readonly Dictionary<IGameInputs.Button, Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments>> OnReleased = new(256);
|
||||
private readonly Dictionary<IGameInputs.Button, IButtonInputs<IGameInputs.Button>.InputEvent> OnPressed = new(256);
|
||||
private readonly Dictionary<IGameInputs.Button, IButtonInputs<IGameInputs.Button>.InputEvent> OnReleased = new(256);
|
||||
|
||||
private TouchCollection touchCollection = default;
|
||||
|
||||
public void RegisterOnPress(IGameInputs.Button key, Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments>.EventHandler callback)
|
||||
public void RegisterOnPress(IGameInputs.Button key, IButtonInputs<IGameInputs.Button>.InputEvent.EventHandler callback)
|
||||
{
|
||||
if (OnPressed.TryGetValue(key, out Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> @event))
|
||||
if (OnPressed.TryGetValue(key, out IButtonInputs<IGameInputs.Button>.InputEvent @event))
|
||||
{
|
||||
@event.AddListener(callback);
|
||||
return;
|
||||
@@ -32,15 +32,15 @@ public class MobileInputs : Behaviour, IUpdate, IGameInputs
|
||||
OnPressed.Add(key, @event);
|
||||
}
|
||||
|
||||
public void UnregisterOnPress(IGameInputs.Button key, Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments>.EventHandler callback)
|
||||
public void UnregisterOnPress(IGameInputs.Button key, IButtonInputs<IGameInputs.Button>.InputEvent.EventHandler callback)
|
||||
{
|
||||
if (OnPressed.TryGetValue(key, out Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> @event))
|
||||
if (OnPressed.TryGetValue(key, out IButtonInputs<IGameInputs.Button>.InputEvent @event))
|
||||
@event.RemoveListener(callback);
|
||||
}
|
||||
|
||||
public void RegisterOnRelease(IGameInputs.Button key, Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments>.EventHandler callback)
|
||||
public void RegisterOnRelease(IGameInputs.Button key, IButtonInputs<IGameInputs.Button>.InputEvent.EventHandler callback)
|
||||
{
|
||||
if (OnReleased.TryGetValue(key, out Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> @event))
|
||||
if (OnReleased.TryGetValue(key, out IButtonInputs<IGameInputs.Button>.InputEvent @event))
|
||||
{
|
||||
@event.AddListener(callback);
|
||||
return;
|
||||
@@ -51,9 +51,9 @@ public class MobileInputs : Behaviour, IUpdate, IGameInputs
|
||||
OnReleased.Add(key, @event);
|
||||
}
|
||||
|
||||
public void UnregisterOnRelease(IGameInputs.Button key, Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments>.EventHandler callback)
|
||||
public void UnregisterOnRelease(IGameInputs.Button key, IButtonInputs<IGameInputs.Button>.InputEvent.EventHandler callback)
|
||||
{
|
||||
if (OnReleased.TryGetValue(key, out Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> @event))
|
||||
if (OnReleased.TryGetValue(key, out IButtonInputs<IGameInputs.Button>.InputEvent @event))
|
||||
@event.RemoveListener(callback);
|
||||
}
|
||||
|
||||
@@ -66,13 +66,13 @@ public class MobileInputs : Behaviour, IUpdate, IGameInputs
|
||||
TouchLocation touchLocation = touchCollection[(int)IGameInputs.Button.Interact];
|
||||
if (touchLocation.State == TouchLocationState.Pressed)
|
||||
{
|
||||
if (OnPressed.TryGetValue(IGameInputs.Button.Interact, out Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> @event))
|
||||
if (OnPressed.TryGetValue(IGameInputs.Button.Interact, out IButtonInputs<IGameInputs.Button>.InputEvent @event))
|
||||
@event.Invoke(this, new(IGameInputs.Button.Interact));
|
||||
OnAnyButtonPressed?.Invoke(this, new(IGameInputs.Button.Interact));
|
||||
}
|
||||
else if (touchLocation.State == TouchLocationState.Released)
|
||||
{
|
||||
if (OnReleased.TryGetValue(IGameInputs.Button.Interact, out Event<IButtonInputs<IGameInputs.Button>, IButtonInputs<IGameInputs.Button>.ButtonCallbackArguments> @event))
|
||||
if (OnReleased.TryGetValue(IGameInputs.Button.Interact, out IButtonInputs<IGameInputs.Button>.InputEvent @event))
|
||||
@event.Invoke(this, new(IGameInputs.Button.Interact));
|
||||
OnAnyButtonReleased?.Invoke(this, new(IGameInputs.Button.Interact));
|
||||
}
|
||||
|
Reference in New Issue
Block a user