#if UNITY_ECS using Unity.Entities; namespace Svelto.ECS.SveltoOnDOTS { /// /// DOTS component to keep track of the associated Svelto.ECS entity /// public struct DOTSSveltoEGID : IComponentData { public EGID egid; public DOTSSveltoEGID(EGID egid) { this.egid = egid; } } /// /// DOTS component to be able to query all the DOTS entities found in a Svelto.ECS group /// public readonly struct DOTSSveltoGroupID : ISharedComponentData { readonly ExclusiveGroupStruct group; public DOTSSveltoGroupID(ExclusiveGroupStruct exclusiveGroup) { @group = exclusiveGroup; } public static implicit operator ExclusiveGroupStruct(DOTSSveltoGroupID group) { return group.@group; } } struct DOTSEntityToSetup : ISharedComponentData { internal readonly ExclusiveGroupStruct group; public DOTSEntityToSetup(ExclusiveGroupStruct exclusiveGroup) { @group = exclusiveGroup; } } public interface IEntityComponentForDOTS: IEntityComponent { public Entity dotsEntity { get; set; } } public struct DOTSEntityComponent:IEntityComponentForDOTS { public Entity dotsEntity { get; set; } } } #endif