222 lines
13 KiB
C#
222 lines
13 KiB
C#
using System;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
namespace Fermion
|
|
{
|
|
public static class InternalCalls
|
|
{
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern ulong Scene_CreateEntity(string name);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void Scene_DestroyEntity(ulong entityID);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void Scene_InitPhysics3DEntity(ulong entityID);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void NativeLog(string s, int parameter);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void ConsoleLog(string s);
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern object GetScriptInstance(ulong entityID, string className);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern bool Entity_HasComponent(ulong id, Type componentType);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern ulong Entity_FindEntityByName(string name);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void Entity_AddComponent(ulong id, Type componentType);
|
|
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void TransformComponent_GetTranslation(ulong entityID, out Vector3 translation);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void TransformComponent_SetTranslation(ulong entityID, ref Vector3 translation);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void TransformComponent_GetRotation(ulong entityID, out Vector3 rotation);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void TransformComponent_SetRotation(ulong entityID, ref Vector3 rotation);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void TransformComponent_GetScale(ulong entityID, out Vector3 scale);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void TransformComponent_SetScale(ulong entityID, ref Vector3 scale);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void SpriteRendererComponent_SetColor(ulong entityID, ref Vector4 translation);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void SpriteRendererComponent_SetTexture(ulong entityID, ulong uuid);
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static Rigidbody2DComponent.BodyType Rigidbody2DComponent_GetType(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody2DComponent_SetType(ulong entityID, Rigidbody2DComponent.BodyType type);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody2DComponent_ApplyLinearImpulseToCenter(ulong entityID, ref Vector2 impulse, bool wake);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody2DComponent_GetLinearVelocity(ulong entityID, out Vector2 linearVelocity);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody2DComponent_SetLinearVelocity(ulong entityID, ref Vector2 linearVelocity);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static Rigidbody3DComponent.BodyType Rigidbody3DComponent_GetType(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_SetType(ulong entityID, Rigidbody3DComponent.BodyType type);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_ApplyLinearImpulseToCenter(ulong entityID, ref Vector3 impulse, bool wake);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_ApplyAngularImpulse(ulong entityID, ref Vector3 impulse, bool wake);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_AddForce(ulong entityID, ref Vector3 force, bool wake);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_GetLinearVelocity(ulong entityID, out Vector3 linearVelocity);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_SetLinearVelocity(ulong entityID, ref Vector3 linearVelocity);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_GetAngularVelocity(ulong entityID, out Vector3 angularVelocity);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_SetAngularVelocity(ulong entityID, ref Vector3 angularVelocity);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float Rigidbody3DComponent_GetMass(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_SetMass(ulong entityID, float mass);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static bool Rigidbody3DComponent_GetUseGravity(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_SetUseGravity(ulong entityID, bool useGravity);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static bool Rigidbody3DComponent_GetFixedRotation(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void Rigidbody3DComponent_SetFixedRotation(ulong entityID, bool fixedRotation);
|
|
|
|
// MeshComponent
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void MeshComponent_SetMemoryMesh(ulong entityID, int meshType);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void MeshComponent_SetMaterialColor(ulong entityID, ref Vector3 color);
|
|
|
|
// BoxCollider3DComponent
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxCollider3DComponent_GetSize(ulong entityID, out Vector3 size);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxCollider3DComponent_SetSize(ulong entityID, ref Vector3 size);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxCollider3DComponent_GetOffset(ulong entityID, out Vector3 offset);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxCollider3DComponent_SetOffset(ulong entityID, ref Vector3 offset);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float BoxCollider3DComponent_GetFriction(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxCollider3DComponent_SetFriction(ulong entityID, float friction);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float BoxCollider3DComponent_GetRestitution(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxCollider3DComponent_SetRestitution(ulong entityID, float restitution);
|
|
|
|
// CircleCollider3DComponent
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CircleCollider3DComponent_GetRadius(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleCollider3DComponent_SetRadius(ulong entityID, float radius);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleCollider3DComponent_GetOffset(ulong entityID, out Vector3 offset);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleCollider3DComponent_SetOffset(ulong entityID, ref Vector3 offset);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CircleCollider3DComponent_GetFriction(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleCollider3DComponent_SetFriction(ulong entityID, float friction);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CircleCollider3DComponent_GetRestitution(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleCollider3DComponent_SetRestitution(ulong entityID, float restitution);
|
|
|
|
// CapsuleCollider3DComponent
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CapsuleCollider3DComponent_GetRadius(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CapsuleCollider3DComponent_SetRadius(ulong entityID, float radius);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CapsuleCollider3DComponent_GetHeight(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CapsuleCollider3DComponent_SetHeight(ulong entityID, float height);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CapsuleCollider3DComponent_GetOffset(ulong entityID, out Vector3 offset);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CapsuleCollider3DComponent_SetOffset(ulong entityID, ref Vector3 offset);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CapsuleCollider3DComponent_GetFriction(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CapsuleCollider3DComponent_SetFriction(ulong entityID, float friction);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CapsuleCollider3DComponent_GetRestitution(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CapsuleCollider3DComponent_SetRestitution(ulong entityID, float restitution);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static bool BoxSensor2D_SensorBegin(ulong entityID);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static bool BoxSensor2D_SensorEnd(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxSensor2D_SetSize(ulong entityID, ref Vector2 size);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxSensor2D_GetSize(ulong entityID, ref Vector2 size);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxSensor2D_SetOffset(ulong entityID, ref Vector2 size);
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void BoxSensor2D_GetOffset(ulong entityID, ref Vector2 size);
|
|
|
|
// CircleSensor2DComponent
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static bool CircleSensor2D_SensorBegin(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static bool CircleSensor2D_SensorEnd(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleSensor2D_SetRadius(ulong entityID, float radius);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static float CircleSensor2D_GetRadius(ulong entityID);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleSensor2D_SetOffset(ulong entityID, ref Vector2 offset);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal extern static void CircleSensor2D_GetOffset(ulong entityID, ref Vector2 offset);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern bool Input_IsKeyDown(KeyCode keycode);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void Input_SetCursorMode(CursorMode mode);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void Input_SetMousePosition(float x, float y);
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void Input_GetMousePosition(out float x, out float y);
|
|
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static unsafe extern void DebugRenderer_DrawLine(Vector3* start, Vector3* end, Vector4* color);
|
|
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static unsafe extern void DebugRenderer_SetLineWidth(float width);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static unsafe extern void DebugRenderer_DrawQuadBillboard(Vector3* position, Vector2* size, Vector4* color);
|
|
|
|
[MethodImpl(MethodImplOptions.InternalCall)]
|
|
internal static extern void TextComponent_SetText(ulong entityID, string s);
|
|
|
|
|
|
}
|
|
}
|