27 lines
1 KiB
C#
27 lines
1 KiB
C#
using System.Numerics;
|
|
|
|
namespace Roboto.Core;
|
|
|
|
public enum ClickType { Left, Right, Middle }
|
|
public enum KeyActionType { Press, Down, Up }
|
|
|
|
public abstract record BotAction(int Priority);
|
|
|
|
public record MoveAction(int Priority, Vector2 Direction) : BotAction(Priority)
|
|
{
|
|
/// <summary>Normalized movement direction in world space.</summary>
|
|
public Vector2 Direction { get; init; } = Direction;
|
|
}
|
|
|
|
public record ClickAction(int Priority, Vector2 ScreenPosition, ClickType Type = ClickType.Left) : BotAction(Priority);
|
|
|
|
public record KeyAction(int Priority, ushort ScanCode, KeyActionType Type = KeyActionType.Press) : BotAction(Priority);
|
|
|
|
public record CastAction(int Priority, ushort SkillScanCode,
|
|
Vector2? TargetScreenPos = null, uint? TargetEntityId = null) : BotAction(Priority);
|
|
|
|
public record FlaskAction(int Priority, ushort FlaskScanCode) : BotAction(Priority);
|
|
|
|
public record ChatAction(int Priority, string Message) : BotAction(Priority);
|
|
|
|
public record WaitAction(int Priority, int DurationMs) : BotAction(Priority);
|