protected override JobHandle OnUpdate(JobHandle dependency) { EntityManager.AddComponent(m_MissingLodRequirement, typeof(LodRequirement)); EntityManager.AddComponent(m_MissingRootLodRequirement, typeof(RootLodRequirement)); var updateLodJob = new UpdateLodRequirementsJob { MeshLODGroupComponent = GetComponentDataFromEntity <MeshLODGroupComponent>(true), MeshLODComponent = GetArchetypeChunkComponentType <MeshLODComponent>(true), LocalToWorldLookup = GetComponentDataFromEntity <LocalToWorld>(true), LodRequirement = GetArchetypeChunkComponentType <LodRequirement>(), RootLodRequirement = GetArchetypeChunkComponentType <RootLodRequirement>(), }; return(updateLodJob.Schedule(m_Group, dependency)); }
protected override JobHandle OnUpdate(JobHandle dependency) { //@TODO: Updating of LodRequirement & RootLodRequirement has to be push based, // Otherwise how do we quickly early out when nothing has changed. var updateLodJob = new UpdateLodRequirementsJob { MeshLODGroupComponent = GetComponentDataFromEntity <MeshLODGroupComponent>(true), MeshLODComponent = GetComponentTypeHandle <MeshLODComponent>(true), LocalToWorldLookup = GetComponentDataFromEntity <LocalToWorld>(true), LodRequirement = GetComponentTypeHandle <LodRequirement>(), RootLodRequirement = GetComponentTypeHandle <RootLodRequirement>(), }; return(updateLodJob.ScheduleParallel(m_LodRenderers, dependency)); }