mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-06 13:11:53 +00:00
Added Event types
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
using System;
|
||||
|
||||
namespace GlitchyEngine.Events
|
||||
{
|
||||
public class MouseMovedEvent : Event, IEvent
|
||||
{
|
||||
private int32 _mouseX, _mouseY;
|
||||
|
||||
public override EventType EventType => .MouseMoved;
|
||||
|
||||
public override StringView Name => "MouseMoved";
|
||||
|
||||
public override EventCategory Category => .Input | .Mouse;
|
||||
|
||||
public static EventType StaticType => .MouseMoved;
|
||||
|
||||
public int32 PositionX => _mouseX;
|
||||
public int32 PositionY => _mouseY;
|
||||
|
||||
public this(int32 x, int32 y)
|
||||
{
|
||||
_mouseX = x;
|
||||
_mouseY = y;
|
||||
}
|
||||
|
||||
public override void ToString(String strBuffer)
|
||||
{
|
||||
strBuffer.AppendF("MouseMovedEvent: Position: ({}, {})", _mouseX, _mouseY);
|
||||
}
|
||||
}
|
||||
|
||||
public class MouseScrolledEvent : Event, IEvent
|
||||
{
|
||||
private int32 _xOffset, _yOffset;
|
||||
|
||||
public override EventType EventType => .MouseScrolled;
|
||||
|
||||
public override StringView Name => "MouseScrolled";
|
||||
|
||||
public override EventCategory Category => .Input | .Mouse;
|
||||
|
||||
public static EventType StaticType => .MouseScrolled;
|
||||
|
||||
public int32 XOffset => _xOffset;
|
||||
public int32 YOffset => _yOffset;
|
||||
|
||||
public this(int32 xOffset, int32 yOffset)
|
||||
{
|
||||
_xOffset = xOffset;
|
||||
_yOffset = yOffset;
|
||||
}
|
||||
|
||||
public override void ToString(String strBuffer)
|
||||
{
|
||||
strBuffer.AppendF("MouseScrolledEvent: {}, {}", _xOffset, _yOffset);
|
||||
}
|
||||
}
|
||||
|
||||
public enum MouseButton
|
||||
{
|
||||
None = 0,
|
||||
LeftButton,
|
||||
RightButton,
|
||||
MiddleButton,
|
||||
XButton1,
|
||||
XButton2,
|
||||
}
|
||||
|
||||
public abstract class MouseButtonEvent : Event
|
||||
{
|
||||
protected MouseButton _mouseButton;
|
||||
|
||||
public override EventCategory Category => .Input | .Mouse;
|
||||
|
||||
public MouseButton MouseButton => _mouseButton;
|
||||
|
||||
protected this(MouseButton mouseButton)
|
||||
{
|
||||
_mouseButton = mouseButton;
|
||||
}
|
||||
}
|
||||
|
||||
public class MouseButtonPressedEvent : MouseButtonEvent, IEvent
|
||||
{
|
||||
public override EventType EventType => .MouseButtonPressed;
|
||||
|
||||
public override StringView Name => "MouseButtonPressed";
|
||||
|
||||
public static EventType StaticType => .MouseButtonPressed;
|
||||
|
||||
public this(MouseButton mouseButton) : base(mouseButton) { }
|
||||
|
||||
public override void ToString(String strBuffer)
|
||||
{
|
||||
strBuffer.AppendF("MouseButtonPressedEvent: {}", _mouseButton);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class MouseButtonReleasedEvent : MouseButtonEvent, IEvent
|
||||
{
|
||||
public override EventType EventType => .MouseButtonReleased;
|
||||
|
||||
public override StringView Name => "MouseButtonReleased";
|
||||
|
||||
public static EventType StaticType => .MouseButtonReleased;
|
||||
|
||||
public this(MouseButton mouseButton) : base(mouseButton) { }
|
||||
|
||||
public override void ToString(String strBuffer)
|
||||
{
|
||||
strBuffer.AppendF("MouseButtonReleasedEvent: {}", _mouseButton);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user