You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
653 B
24 lines
653 B
using System.Runtime.InteropServices; |
|
using gaemstone.ECS; |
|
using gaemstone.ECS.Utility; |
|
using static flecs_hub.flecs; |
|
|
|
namespace gaemstone.Flecs; |
|
|
|
[BuiltIn, Module, Path("/flecs/script")] |
|
[DependsOn<gaemstone.Flecs.Meta>] |
|
public unsafe partial class Script |
|
: IModuleImport |
|
{ |
|
static Entity<T> IModuleImport.Import<T>(World<T> world) |
|
{ |
|
using var alloc = TempAllocator.Use(); |
|
return Entity<T>.GetOrThrow(world, new(ecs_import_c(world, |
|
new() { Data = new() { Pointer = &ScriptImport } }, |
|
alloc.AllocateCString("FlecsScript")))); |
|
} |
|
|
|
[UnmanagedCallersOnly] |
|
private static void ScriptImport(ecs_world_t* world) |
|
=> FlecsScriptImport(world); |
|
}
|
|
|