Basic entity scripting

This commit is contained in:
Simon Lübeß
2023-03-29 13:33:34 +02:00
parent 5e5134a607
commit e60d74fccd
23 changed files with 1193 additions and 89 deletions
@@ -4,6 +4,8 @@ using GlitchyEngine.Renderer;
using GlitchyEngine.Core;
using Box2D;
using GlitchyEngine.Content;
using GlitchyEngine.Scripting;
using Mono;
namespace GlitchyEngine.World
{
@@ -442,4 +444,26 @@ namespace GlitchyEngine.World
[Inline]
internal ref b2Vec2 b2Offset mut => ref *(Box2D.b2Vec2*)(void*)&Offset;
}
struct ScriptComponent : IDisposableComponent
{
private ScriptInstance _instance = null;
public ScriptInstance Instance
{
[Inline]
get => _instance;
[Inline]
set mut => SetReference!(_instance, value);
}
public bool InInstantiated => _instance?.IsInstatiated ?? false;
public void Dispose() mut
{
ReleaseRefAndNullify!(_instance);
}
}
}