From e4d3ea9e4b8487c91db98fda03bcc673f0e13e0a Mon Sep 17 00:00:00 2001 From: sebas77 Date: Sat, 31 Mar 2018 00:05:13 +0100 Subject: [PATCH] fix some errors remove some redundant methods --- .../TypeSafeFasterListForECS.cs | 9 +----- Svelto.ECS/EGID.cs | 11 ++++++++ Svelto.ECS/EnginesRootEntities.cs | 8 ++++-- Svelto.ECS/EntityViewsDB.cs | 28 ------------------- .../Unity/GenericEntityDescriptorHolder.cs | 2 +- Svelto.ECS/IEntityViewsDB.cs | 5 ---- 6 files changed, 19 insertions(+), 44 deletions(-) diff --git a/Svelto.ECS/DataStructures/TypeSafeFasterListForECS.cs b/Svelto.ECS/DataStructures/TypeSafeFasterListForECS.cs index 929b567..4e54840 100644 --- a/Svelto.ECS/DataStructures/TypeSafeFasterListForECS.cs +++ b/Svelto.ECS/DataStructures/TypeSafeFasterListForECS.cs @@ -43,14 +43,7 @@ namespace Svelto.ECS.Internal if (UnorderedRemoveAt(index)) { - try - { - _mappedIndices.Add(this[index].ID.GID, index); - } - catch (Exception e) - { - throw new TypeSafeFasterListForECSException(e); - } + _mappedIndices[this[index].ID.GID] = index; } return Count > 0; diff --git a/Svelto.ECS/EGID.cs b/Svelto.ECS/EGID.cs index e17367a..64facb0 100644 --- a/Svelto.ECS/EGID.cs +++ b/Svelto.ECS/EGID.cs @@ -1,4 +1,5 @@ using DBC; +using Svelto.ECS.Internal; namespace Svelto.ECS { @@ -25,6 +26,11 @@ namespace Svelto.ECS { _GID = MAKE_GLOBAL_ID(entityID, groupID); } + + public EGID(int entityID) : this() + { + _GID = MAKE_GLOBAL_ID(entityID, ExclusiveGroups.StandardEntity); + } int MAKE_GLOBAL_ID(int entityId, int groupId) { @@ -34,5 +40,10 @@ namespace Svelto.ECS #endif return entityId | groupId << 24; } + + public bool IsEqualTo(EGID otherGID) + { + return otherGID._GID == _GID; + } } } \ No newline at end of file diff --git a/Svelto.ECS/EnginesRootEntities.cs b/Svelto.ECS/EnginesRootEntities.cs index 0703fa3..ecac7b2 100644 --- a/Svelto.ECS/EnginesRootEntities.cs +++ b/Svelto.ECS/EnginesRootEntities.cs @@ -127,7 +127,9 @@ namespace Svelto.ECS void RemoveEntity(EGID entityGID) { - _DB.TryQueryEntityView(entityGID, out var entityInfoView); + EntityInfoView entityInfoView; + + _DB.TryQueryEntityView(entityGID, out entityInfoView); var entityViewBuilders = entityInfoView.entityViews; EGID id = entityInfoView._ID; @@ -231,7 +233,9 @@ namespace Svelto.ECS Check.Require(fromGroupID != toGroupID, "can't move an entity to the same group where it already belongs to"); - _DB.TryQueryEntityViewInGroup(fromGroupID, entityID, out EntityInfoView entityInfoView); + EntityInfoView entityInfoView; + + _DB.TryQueryEntityView(new EGID(fromGroupID, entityID), out entityInfoView); var entityViewBuilders = entityInfoView.entityViews; var entityViewBuildersCount = entityViewBuilders.Length; diff --git a/Svelto.ECS/EntityViewsDB.cs b/Svelto.ECS/EntityViewsDB.cs index 1de4a3d..0e69652 100644 --- a/Svelto.ECS/EntityViewsDB.cs +++ b/Svelto.ECS/EntityViewsDB.cs @@ -71,15 +71,6 @@ namespace Svelto.ECS.Internal return FasterList.NoVirt.ToArrayFast((FasterList)entitiesInGroupPerType[type], out count); } - public T QueryEntityView(int entityID) where T:EntityView - { - T entityView; - - TryQueryEntityViewInGroup(new EGID(entityID, ExclusiveGroups.StandardEntity), out entityView); - - return entityView; - } - public T QueryEntityView(EGID entityGID) where T : EntityView { T entityView; @@ -89,30 +80,11 @@ namespace Svelto.ECS.Internal return entityView; } - public bool TryQueryEntityView(int entityID, out T entityView) where T:EntityView - { - return TryQueryEntityViewInGroup(new EGID(entityID, ExclusiveGroups.StandardEntity), out entityView); - } - public bool TryQueryEntityView(EGID entityegid, out T entityView) where T : EntityView { return TryQueryEntityViewInGroup(entityegid, out entityView); } - public T QueryEntityViewInGroup(int entityID, int groupID) where T:EntityView - { - T entityView; - - TryQueryEntityViewInGroup(entityID, groupID, out entityView); - - return entityView; - } - - public bool TryQueryEntityViewInGroup(int entityID, int groupID, out T entityView) where T : EntityView - { - return TryQueryEntityViewInGroup(new EGID(entityID, groupID), out entityView); - } - bool TryQueryEntityViewInGroup(EGID entityGID, out T entityView) where T:EntityView { var type = typeof(T); diff --git a/Svelto.ECS/Extensions/Unity/GenericEntityDescriptorHolder.cs b/Svelto.ECS/Extensions/Unity/GenericEntityDescriptorHolder.cs index fb672cb..ebb4fcc 100644 --- a/Svelto.ECS/Extensions/Unity/GenericEntityDescriptorHolder.cs +++ b/Svelto.ECS/Extensions/Unity/GenericEntityDescriptorHolder.cs @@ -5,7 +5,7 @@ namespace Svelto.ECS UnityEngine.MonoBehaviour , IEntityDescriptorHolder where T: class, IEntityDescriptor, new() { - public IEntityDescriptorInfo RetrieveDescriptor() + public EntityDescriptorInfo RetrieveDescriptor() { return EntityDescriptorTemplate.Default; } diff --git a/Svelto.ECS/IEntityViewsDB.cs b/Svelto.ECS/IEntityViewsDB.cs index 0779317..239a9e6 100644 --- a/Svelto.ECS/IEntityViewsDB.cs +++ b/Svelto.ECS/IEntityViewsDB.cs @@ -10,12 +10,7 @@ namespace Svelto.ECS T[] QueryEntityViewsAsArray(out int count) where T : IEntityView; T[] QueryGroupedEntityViewsAsArray(int group, out int count) where T : IEntityView; - bool TryQueryEntityView(int ID, out T entityView) where T : EntityView; bool TryQueryEntityView(EGID ID, out T entityView) where T : EntityView; - T QueryEntityView(int ID) where T : EntityView; T QueryEntityView(EGID entityGID) where T : EntityView; - - bool TryQueryEntityViewInGroup(int entityID, int groupID, out T entityView) where T : EntityView; - T QueryEntityViewInGroup(int entityID, int groupID) where T : EntityView; } } \ No newline at end of file