using System.Runtime.InteropServices; namespace Djup.Native; public static partial class LibDjup { const string LibraryName = "djup"; const string Prefix = "dp_"; [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(hello_world))] public static partial void hello_world(); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(get_num))] public static partial int get_num(); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(get_vec2))] public static partial Vec2 get_vec2(); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(world_create))] public static partial IntPtr world_create(); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(world_free))] public static partial void world_free(IntPtr world); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(world_create_entity))] public static partial int world_create_entity(IntPtr world, EntityKind kind); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(world_find_entity))] public static unsafe partial Entity* world_find_entity(IntPtr world, int entityId); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(world_remove_entity))] public static partial void world_remove_entity(IntPtr world, int entityId); [LibraryImport(LibraryName, EntryPoint = Prefix + nameof(world_tick))] public static partial int world_tick(IntPtr world, double delta); }