Example #1
0
 internal void CheckMissingDependenciesForCollections(SubSystemBase sys)
 {
     if (m_collectionDependencies.Count > 0)
     {
         Debug.LogWarning(
             $"{sys} finished its update but there are ICollectionComponent instances, one of which was of type {m_collectionDependencies[0].type}, that were accessed but did not have their dependencies updated.");
     }
 }
Example #2
0
 internal void BeginCollectionTracking(SubSystemBase sys)
 {
     if (m_activeSystem != null)
     {
         throw new InvalidOperationException("Error: Calling Update on a SubSystem from within another SubSystem is not allowed!");
     }
     m_activeSystem = sys;
 }
Example #3
0
 internal void EndCollectionTracking(JobHandle outputDeps)
 {
     m_activeSystem = null;
     if (outputDeps.IsCompleted)
     {
         //Todo: Is this necessary? And what are the performance impacts? Is there a better way to figure out that all jobs were using .Run()?
         outputDeps.Complete();
     }
     else
     {
         UpdateCollectionDependencies(outputDeps);
     }
 }