mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
Added Entity event OnCollisionEnter2D
This commit is contained in:
@@ -2,6 +2,8 @@ using NetHostBeef;
|
||||
using System;
|
||||
using System.Interop;
|
||||
using GlitchyEngine.Core;
|
||||
using GlitchyEngine.Scripting.Classes;
|
||||
|
||||
using static GlitchyEngine.Scripting.ScriptGlue;
|
||||
|
||||
namespace GlitchyEngine.Scripting;
|
||||
@@ -11,6 +13,7 @@ public struct ScriptFunctionPointers
|
||||
public function void(UUID entityId) OnCreate;
|
||||
public function void(UUID entityId, float deltaTime) OnUpdate;
|
||||
public function void(UUID entityId, bool callEntity) OnDestroy;
|
||||
public function void(UUID entityId, Collision2D collision) OnCollisionEnter2D;
|
||||
}
|
||||
|
||||
static class CoreClrHelper
|
||||
@@ -124,6 +127,7 @@ static class CoreClrHelper
|
||||
GetFunctionPointerUnmanagedCallersOnly("GlitchyEngine.ScriptGlue, ScriptCore", "InvokeEntityOnCreate", out _entityScriptFunctions.OnCreate);
|
||||
GetFunctionPointerUnmanagedCallersOnly("GlitchyEngine.ScriptGlue, ScriptCore", "InvokeEntityOnUpdate", out _entityScriptFunctions.OnUpdate);
|
||||
GetFunctionPointerUnmanagedCallersOnly("GlitchyEngine.ScriptGlue, ScriptCore", "InvokeEntityOnDestroy", out _entityScriptFunctions.OnDestroy);
|
||||
GetFunctionPointerUnmanagedCallersOnly("GlitchyEngine.ScriptGlue, ScriptCore", "InvokeEntityOnCollisionEnter2D", out _entityScriptFunctions.OnCollisionEnter2D);
|
||||
}
|
||||
|
||||
public static void LoadAppAssembly(Span<uint8> appAssemblyData, Span<uint8> pdbData)
|
||||
|
||||
@@ -100,4 +100,10 @@ class NewScriptInstance : RefCounter
|
||||
|
||||
ScriptEngine.UnregisterScriptInstance(_entityId);
|
||||
}
|
||||
|
||||
public void InvokeOnCollisionEnter2D(Collision2D collision)
|
||||
{
|
||||
if (_scriptClass.Methods.HasFlag(.OnCollisionEnter2D))
|
||||
CoreClrHelper._entityScriptFunctions.OnCollisionEnter2D(_entityId, collision);
|
||||
}
|
||||
}
|
||||
@@ -392,6 +392,7 @@ static class ScriptEngine
|
||||
OnCreate = 0x1,
|
||||
OnUpdate = 0x2,
|
||||
OnDestroy = 0x4,
|
||||
OnCollisionEnter2D = 0x8,
|
||||
}
|
||||
|
||||
struct ScriptClassInfo
|
||||
|
||||
Reference in New Issue
Block a user