public override void CleanComponents(NativeArray <ArchetypeChunk> chunkArray, ComponentSystemBase system, EntityCommandBuffer buffer) { var entityType = system.GetArchetypeChunkEntityType(); var componentAddedType = system.GetArchetypeChunkComponentType <ComponentAdded <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.Component> >(); var componentRemovedType = system.GetArchetypeChunkComponentType <ComponentRemoved <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.Component> >(); var receivedUpdateType = system.GetArchetypeChunkComponentType <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.ReceivedUpdates>(); var authorityChangeType = system.GetArchetypeChunkComponentType <AuthorityChanges <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.Component> >(); foreach (var chunk in chunkArray) { var entities = chunk.GetNativeArray(entityType); // Updates if (chunk.Has(receivedUpdateType)) { var updateArray = chunk.GetNativeArray(receivedUpdateType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.ReceivedUpdates>(entities[i]); var updateList = updateArray[i].Updates; // Pool update lists to avoid excessive allocation updateList.Clear(); global::Improbable.Gdk.PlayerLifecycle.OwningWorker.Update.Pool.Push(updateList); ReferenceTypeProviders.UpdatesProvider.Free(updateArray[i].handle); } } // Component Added if (chunk.Has(componentAddedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentAdded <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.Component> >(entities[i]); } } // Component Removed if (chunk.Has(componentRemovedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentRemoved <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.Component> >(entities[i]); } } // Authority if (chunk.Has(authorityChangeType)) { var authorityChangeArray = chunk.GetNativeArray(authorityChangeType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <AuthorityChanges <global::Improbable.Gdk.PlayerLifecycle.OwningWorker.Component> >(entities[i]); AuthorityChangesProvider.Free(authorityChangeArray[i].Handle); } } } }
public override void CleanupAuthChanges(ComponentGroup authorityChangeGroup, ref EntityCommandBuffer buffer) { var entities = authorityChangeGroup.GetEntityArray(); var data = authorityChangeGroup.GetComponentDataArray <AuthorityChanges <SpatialOSExhaustiveSingular> >(); for (var i = 0; i < entities.Length; i++) { buffer.RemoveComponent <AuthorityChanges <SpatialOSExhaustiveSingular> >(entities[i]); AuthorityChangesProvider.Free(data[i].Handle); } }
public override void CleanupAuthChanges(ComponentGroup authorityChangeGroup, ref EntityCommandBuffer buffer) { var entities = authorityChangeGroup.GetEntityArray(); var data = authorityChangeGroup.GetComponentDataArray <AuthorityChanges <Improbable.Gdk.Tests.ExhaustiveOptional.Component> >(); for (var i = 0; i < entities.Length; i++) { buffer.RemoveComponent <AuthorityChanges <Improbable.Gdk.Tests.ExhaustiveOptional.Component> >(entities[i]); AuthorityChangesProvider.Free(data[i].Handle); } }
public override void CleanupAuthChanges(ComponentGroup authorityChangeGroup, ref EntityCommandBuffer buffer) { var entities = authorityChangeGroup.GetEntityArray(); var data = authorityChangeGroup.GetComponentDataArray <AuthorityChanges <Generated.Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(); for (var i = 0; i < entities.Length; i++) { buffer.RemoveComponent <AuthorityChanges <Generated.Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(entities[i]); AuthorityChangesProvider.Free(data[i].Handle); } }
public override void CleanComponents(ComponentGroup group, ComponentSystemBase system, EntityCommandBuffer buffer) { var entityType = system.GetArchetypeChunkEntityType(); var componentAddedType = system.GetArchetypeChunkComponentType <ComponentAdded <Improbable.Gdk.Tests.NestedComponent.Component> >(); var componentRemovedType = system.GetArchetypeChunkComponentType <ComponentRemoved <Improbable.Gdk.Tests.NestedComponent.Component> >(); var receivedUpdateType = system.GetArchetypeChunkComponentType <Improbable.Gdk.Tests.NestedComponent.ReceivedUpdates>(); var authorityChangeType = system.GetArchetypeChunkComponentType <AuthorityChanges <Improbable.Gdk.Tests.NestedComponent.Component> >(); var chunkArray = group.CreateArchetypeChunkArray(Allocator.TempJob); foreach (var chunk in chunkArray) { var entities = chunk.GetNativeArray(entityType); // Updates if (chunk.Has(receivedUpdateType)) { var updateArray = chunk.GetNativeArray(receivedUpdateType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <Improbable.Gdk.Tests.NestedComponent.ReceivedUpdates>(entities[i]); var updateList = updateArray[i].Updates; // Pool update lists to avoid excessive allocation updateList.Clear(); Improbable.Gdk.Tests.NestedComponent.Update.Pool.Push(updateList); ReferenceTypeProviders.UpdatesProvider.Free(updateArray[i].handle); } } // Component Added if (chunk.Has(componentAddedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentAdded <Improbable.Gdk.Tests.NestedComponent.Component> >(entities[i]); } } // Component Removed if (chunk.Has(componentRemovedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentRemoved <Improbable.Gdk.Tests.NestedComponent.Component> >(entities[i]); } } // Authority if (chunk.Has(authorityChangeType)) { var authorityChangeArray = chunk.GetNativeArray(authorityChangeType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <AuthorityChanges <Improbable.Gdk.Tests.NestedComponent.Component> >(entities[i]); AuthorityChangesProvider.Free(authorityChangeArray[i].Handle); } } } chunkArray.Dispose(); }
public override void CleanComponents(NativeArray <ArchetypeChunk> chunkArray, ComponentSystemBase system, EntityCommandBuffer buffer) { var entityType = system.GetArchetypeChunkEntityType(); var componentAddedType = system.GetArchetypeChunkComponentType <ComponentAdded <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(); var componentRemovedType = system.GetArchetypeChunkComponentType <ComponentRemoved <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(); var receivedUpdateType = system.GetArchetypeChunkComponentType <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.ReceivedUpdates>(); var authorityChangeType = system.GetArchetypeChunkComponentType <AuthorityChanges <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(); var myEventEventType = system.GetArchetypeChunkComponentType <ReceivedEvents.MyEvent>(); foreach (var chunk in chunkArray) { var entities = chunk.GetNativeArray(entityType); // Updates if (chunk.Has(receivedUpdateType)) { var updateArray = chunk.GetNativeArray(receivedUpdateType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.ReceivedUpdates>(entities[i]); var updateList = updateArray[i].Updates; // Pool update lists to avoid excessive allocation updateList.Clear(); Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Update.Pool.Push(updateList); ReferenceTypeProviders.UpdatesProvider.Free(updateArray[i].handle); } } // Component Added if (chunk.Has(componentAddedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentAdded <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(entities[i]); } } // Component Removed if (chunk.Has(componentRemovedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentRemoved <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(entities[i]); } } // Authority if (chunk.Has(authorityChangeType)) { var authorityChangeArray = chunk.GetNativeArray(authorityChangeType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <AuthorityChanges <Improbable.Gdk.Tests.AlternateSchemaSyntax.Connection.Component> >(entities[i]); AuthorityChangesProvider.Free(authorityChangeArray[i].Handle); } } // MyEvent Event if (chunk.Has(myEventEventType)) { var myEventEventArray = chunk.GetNativeArray(myEventEventType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ReceivedEvents.MyEvent>(entities[i]); ReferenceTypeProviders.MyEventProvider.Free(myEventEventArray[i].handle); } } } }
public override void CleanComponents(NativeArray <ArchetypeChunk> chunkArray, ComponentSystemBase system, EntityCommandBuffer buffer) { var entityType = system.GetArchetypeChunkEntityType(); var componentAddedType = system.GetArchetypeChunkComponentType <ComponentAdded <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Component> >(); var componentRemovedType = system.GetArchetypeChunkComponentType <ComponentRemoved <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Component> >(); var receivedUpdateType = system.GetArchetypeChunkComponentType <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.ReceivedUpdates>(); var authorityChangeType = system.GetArchetypeChunkComponentType <AuthorityChanges <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Component> >(); var firstEventEventType = system.GetArchetypeChunkComponentType <ReceivedEvents.FirstEvent>(); var secondEventEventType = system.GetArchetypeChunkComponentType <ReceivedEvents.SecondEvent>(); var firstCommandRequestType = system.GetArchetypeChunkComponentType <CommandRequests.FirstCommand>(); var firstCommandResponseType = system.GetArchetypeChunkComponentType <CommandResponses.FirstCommand>(); var secondCommandRequestType = system.GetArchetypeChunkComponentType <CommandRequests.SecondCommand>(); var secondCommandResponseType = system.GetArchetypeChunkComponentType <CommandResponses.SecondCommand>(); foreach (var chunk in chunkArray) { var entities = chunk.GetNativeArray(entityType); // Updates if (chunk.Has(receivedUpdateType)) { var updateArray = chunk.GetNativeArray(receivedUpdateType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.ReceivedUpdates>(entities[i]); var updateList = updateArray[i].Updates; // Pool update lists to avoid excessive allocation updateList.Clear(); Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Update.Pool.Push(updateList); ReferenceTypeProviders.UpdatesProvider.Free(updateArray[i].handle); } } // Component Added if (chunk.Has(componentAddedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentAdded <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Component> >(entities[i]); } } // Component Removed if (chunk.Has(componentRemovedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentRemoved <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Component> >(entities[i]); } } // Authority if (chunk.Has(authorityChangeType)) { var authorityChangeArray = chunk.GetNativeArray(authorityChangeType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <AuthorityChanges <Improbable.Gdk.Tests.NonblittableTypes.NonBlittableComponent.Component> >(entities[i]); AuthorityChangesProvider.Free(authorityChangeArray[i].Handle); } } // FirstEvent Event if (chunk.Has(firstEventEventType)) { var firstEventEventArray = chunk.GetNativeArray(firstEventEventType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ReceivedEvents.FirstEvent>(entities[i]); ReferenceTypeProviders.FirstEventProvider.Free(firstEventEventArray[i].handle); } } // SecondEvent Event if (chunk.Has(secondEventEventType)) { var secondEventEventArray = chunk.GetNativeArray(secondEventEventType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ReceivedEvents.SecondEvent>(entities[i]); ReferenceTypeProviders.SecondEventProvider.Free(secondEventEventArray[i].handle); } } // FirstCommand Command if (chunk.Has(firstCommandRequestType)) { var firstCommandRequestArray = chunk.GetNativeArray(firstCommandRequestType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandRequests.FirstCommand>(entities[i]); ReferenceTypeProviders.FirstCommandRequestsProvider.Free(firstCommandRequestArray[i].CommandListHandle); } } if (chunk.Has(firstCommandResponseType)) { var firstCommandResponseArray = chunk.GetNativeArray(firstCommandResponseType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandResponses.FirstCommand>(entities[i]); ReferenceTypeProviders.FirstCommandResponsesProvider.Free(firstCommandResponseArray[i].CommandListHandle); } } // SecondCommand Command if (chunk.Has(secondCommandRequestType)) { var secondCommandRequestArray = chunk.GetNativeArray(secondCommandRequestType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandRequests.SecondCommand>(entities[i]); ReferenceTypeProviders.SecondCommandRequestsProvider.Free(secondCommandRequestArray[i].CommandListHandle); } } if (chunk.Has(secondCommandResponseType)) { var secondCommandResponseArray = chunk.GetNativeArray(secondCommandResponseType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandResponses.SecondCommand>(entities[i]); ReferenceTypeProviders.SecondCommandResponsesProvider.Free(secondCommandResponseArray[i].CommandListHandle); } } } }
public override void CleanComponents(NativeArray <ArchetypeChunk> chunkArray, ComponentSystemBase system, EntityCommandBuffer buffer) { var entityType = system.GetArchetypeChunkEntityType(); var componentAddedType = system.GetArchetypeChunkComponentType <ComponentAdded <Improbable.Gdk.Health.HealthComponent.Component> >(); var componentRemovedType = system.GetArchetypeChunkComponentType <ComponentRemoved <Improbable.Gdk.Health.HealthComponent.Component> >(); var receivedUpdateType = system.GetArchetypeChunkComponentType <Improbable.Gdk.Health.HealthComponent.ReceivedUpdates>(); var authorityChangeType = system.GetArchetypeChunkComponentType <AuthorityChanges <Improbable.Gdk.Health.HealthComponent.Component> >(); var healthModifiedEventType = system.GetArchetypeChunkComponentType <ReceivedEvents.HealthModified>(); var respawnEventType = system.GetArchetypeChunkComponentType <ReceivedEvents.Respawn>(); var modifyHealthRequestType = system.GetArchetypeChunkComponentType <CommandRequests.ModifyHealth>(); var modifyHealthResponseType = system.GetArchetypeChunkComponentType <CommandResponses.ModifyHealth>(); var requestRespawnRequestType = system.GetArchetypeChunkComponentType <CommandRequests.RequestRespawn>(); var requestRespawnResponseType = system.GetArchetypeChunkComponentType <CommandResponses.RequestRespawn>(); foreach (var chunk in chunkArray) { var entities = chunk.GetNativeArray(entityType); // Updates if (chunk.Has(receivedUpdateType)) { var updateArray = chunk.GetNativeArray(receivedUpdateType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <Improbable.Gdk.Health.HealthComponent.ReceivedUpdates>(entities[i]); var updateList = updateArray[i].Updates; // Pool update lists to avoid excessive allocation updateList.Clear(); Improbable.Gdk.Health.HealthComponent.Update.Pool.Push(updateList); ReferenceTypeProviders.UpdatesProvider.Free(updateArray[i].handle); } } // Component Added if (chunk.Has(componentAddedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentAdded <Improbable.Gdk.Health.HealthComponent.Component> >(entities[i]); } } // Component Removed if (chunk.Has(componentRemovedType)) { for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ComponentRemoved <Improbable.Gdk.Health.HealthComponent.Component> >(entities[i]); } } // Authority if (chunk.Has(authorityChangeType)) { var authorityChangeArray = chunk.GetNativeArray(authorityChangeType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <AuthorityChanges <Improbable.Gdk.Health.HealthComponent.Component> >(entities[i]); AuthorityChangesProvider.Free(authorityChangeArray[i].Handle); } } // HealthModified Event if (chunk.Has(healthModifiedEventType)) { var healthModifiedEventArray = chunk.GetNativeArray(healthModifiedEventType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ReceivedEvents.HealthModified>(entities[i]); ReferenceTypeProviders.HealthModifiedProvider.Free(healthModifiedEventArray[i].handle); } } // Respawn Event if (chunk.Has(respawnEventType)) { var respawnEventArray = chunk.GetNativeArray(respawnEventType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <ReceivedEvents.Respawn>(entities[i]); ReferenceTypeProviders.RespawnProvider.Free(respawnEventArray[i].handle); } } // ModifyHealth Command if (chunk.Has(modifyHealthRequestType)) { var modifyHealthRequestArray = chunk.GetNativeArray(modifyHealthRequestType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandRequests.ModifyHealth>(entities[i]); ReferenceTypeProviders.ModifyHealthRequestsProvider.Free(modifyHealthRequestArray[i].CommandListHandle); } } if (chunk.Has(modifyHealthResponseType)) { var modifyHealthResponseArray = chunk.GetNativeArray(modifyHealthResponseType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandResponses.ModifyHealth>(entities[i]); ReferenceTypeProviders.ModifyHealthResponsesProvider.Free(modifyHealthResponseArray[i].CommandListHandle); } } // RequestRespawn Command if (chunk.Has(requestRespawnRequestType)) { var requestRespawnRequestArray = chunk.GetNativeArray(requestRespawnRequestType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandRequests.RequestRespawn>(entities[i]); ReferenceTypeProviders.RequestRespawnRequestsProvider.Free(requestRespawnRequestArray[i].CommandListHandle); } } if (chunk.Has(requestRespawnResponseType)) { var requestRespawnResponseArray = chunk.GetNativeArray(requestRespawnResponseType); for (int i = 0; i < entities.Length; ++i) { buffer.RemoveComponent <CommandResponses.RequestRespawn>(entities[i]); ReferenceTypeProviders.RequestRespawnResponsesProvider.Free(requestRespawnResponseArray[i].CommandListHandle); } } } }