Mirror of Svelto.ECS because we're a fan of it
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

EnginesRoot.GenericEntityFunctions.cs 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Svelto.ECS.Internal;
  2. #if ENGINE_PROFILER_ENABLED && UNITY_EDITOR
  3. using Svelto.ECS.Profiler;
  4. #endif
  5. namespace Svelto.ECS
  6. {
  7. public partial class EnginesRoot
  8. {
  9. class GenericEntityFunctions : IEntityFunctions
  10. {
  11. readonly DataStructures.WeakReference<EnginesRoot> _weakReference;
  12. public GenericEntityFunctions(DataStructures.WeakReference<EnginesRoot> weakReference)
  13. {
  14. _weakReference = weakReference;
  15. }
  16. public void RemoveEntity(int entityID)
  17. {
  18. _weakReference.Target.RemoveEntity(entityID, ExclusiveGroups.StandardEntity);
  19. }
  20. public void RemoveEntity(int entityID, int groupID)
  21. {
  22. _weakReference.Target.RemoveEntity(entityID, groupID);
  23. }
  24. public void RemoveEntity(EGID entityEGID)
  25. {
  26. _weakReference.Target.RemoveEntity(entityEGID);
  27. }
  28. public void RemoveGroupAndEntities(int groupID)
  29. {
  30. _weakReference.Target.RemoveGroupAndEntitiesFromDB(groupID);
  31. }
  32. public void SwapEntityGroup(int entityID, int fromGroupID, int toGroupID)
  33. {
  34. _weakReference.Target.SwapEntityGroup(entityID, fromGroupID, toGroupID);
  35. }
  36. public void SwapEntityGroup(int entityID, int toGroupID)
  37. {
  38. _weakReference.Target.SwapEntityGroup(entityID, ExclusiveGroups.StandardEntity, toGroupID);
  39. }
  40. }
  41. }
  42. }