using Unity.Entities; using UnityEngine; [DisableAutoCreation] public class HandleSpatialEffectRequests : BaseComponentSystem { struct Requests { public EntityArray entities; public ComponentDataArray requests; } [Inject] Requests RequestGroup; public HandleSpatialEffectRequests(GameWorld world, GameObject systemRoot, BundledResourceManager resourceSystem) : base(world) { var effectBundle = resourceSystem.GetResourceRegistry(); GameDebug.Assert(effectBundle != null,"No HitscanEffectRegistry defined in registry"); m_Pools = new Pool[effectBundle.entries.Length]; for(var i=0;i(); GameDebug.Assert(pool.instances[j],"Effect prefab does not have SpatialEffectInstance component"); } m_Pools[i] = pool; } } protected override void OnDestroyManager() { if (m_Pools != null) { for (var i = 0; i < m_Pools.Length; i++) { var pool = m_Pools[i]; for(var j=0;j