using System;
using System.Runtime.InteropServices;
namespace Raylib_cs;
/// Automation event
[StructLayout(LayoutKind.Sequential)]
public unsafe struct AutomationEvent
{
/// Event frame
public uint Frame;
/// Event type (AutomationEventType)
public uint Type;
/// Event parameters (if required)
public fixed int Params[4];
public readonly void Play()
{
Raylib.PlayAutomationEvent(this);
}
}
/// Automation event list
[StructLayout(LayoutKind.Sequential)]
public unsafe struct AutomationEventList
{
/// Events max entries (MAX_AUTOMATION_EVENTS)
public uint Capacity;
/// Events entries count
public uint Count;
/// Events entries
public AutomationEvent* Events;
///
public readonly ReadOnlySpan EventsAsSpan => new ReadOnlySpan(Events, (int)Count);
public static AutomationEventList Load(string fileName)
{
return Raylib.LoadAutomationEventList(fileName);
}
public readonly CBool Export(string fileName)
{
return Raylib.ExportAutomationEventList(this, fileName);
}
public void Unload()
{
Raylib.UnloadAutomationEventList(this);
}
}