diff --git a/NuakeNet/src/Components.cs b/NuakeNet/src/Components.cs index 5297edcd..5bb6be0b 100644 --- a/NuakeNet/src/Components.cs +++ b/NuakeNet/src/Components.cs @@ -22,12 +22,24 @@ namespace Nuake.Net } public class NameComponent : IComponent { + internal static unsafe delegate* GetNameIcall; + public NameComponent(int entityId) { EntityID = entityId; } - public string Name { get; set; } + public string Name + { + get + { + unsafe { return GetNameIcall(EntityID).ToString(); } + } + set + { + + } + } } public class PrefabComponent : IComponent diff --git a/NuakeNet/src/Entity.cs b/NuakeNet/src/Entity.cs index e5b2747f..12f13ffa 100644 --- a/NuakeNet/src/Entity.cs +++ b/NuakeNet/src/Entity.cs @@ -1,11 +1,20 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Numerics; using System.Text; using System.Threading.Tasks; namespace Nuake.Net { + public struct CollisionData + { + Entity Entity1; + Entity Entity2; + Vector3 Normal; + Vector3 Position; + } + public class Entity { internal static unsafe delegate* EntityHasComponentIcall; @@ -43,6 +52,17 @@ namespace Nuake.Net public virtual void OnFixedUpdate(float dt) { } public virtual void OnDestroy() { } + public virtual void OnCollision(int entity1, int entity2) + { + Engine.Log("penis"); + } + + // Physics + public void OnCollisionInternal(int entity1, int entity2) + { + //OnCollision(new Entity { ECSHandle = entity1 }, new Entity { ECSHandle = entity2 }); + } + protected static Dictionary MappingTypeEnum = new Dictionary() { { typeof(ParentComponent), ComponentTypes.PARENT },