public override void RecordComponentAccess(RoslynEcsTranslator.IterationContext query, TypeHandle componentType, RoslynEcsTranslator.AccessMode mode) { Parent.RecordComponentAccess(query, componentType, mode); if (IterationContext == query) { m_AccessedComponents.Add(componentType); } }
public override void RecordComponentAccess( RoslynEcsTranslator.IterationContext group, TypeHandle componentType, RoslynEcsTranslator.AccessMode mode) { if (mode > RoslynEcsTranslator.AccessMode.Read) { m_WrittenComponentsPerGroup[group].WrittenComponents.Add(componentType); } }
public override void RecordComponentAccess(RoslynEcsTranslator.IterationContext query, TypeHandle componentType, RoslynEcsTranslator.AccessMode mode) { if (IterationContext == query) { // if already in write mode, don't downgrade it to read mode if (m_WrittenComponents.TryGetValue(componentType, out var prevMode) && prevMode >= mode) { mode = prevMode; } m_WrittenComponents[componentType] = mode; } // propagate max mode to parent (eg. write), not initial one (eg. read) Parent.RecordComponentAccess(query, componentType, mode); }
public abstract void RecordComponentAccess(RoslynEcsTranslator.IterationContext query, TypeHandle componentType, RoslynEcsTranslator.AccessMode mode);
public override void RecordComponentAccess(RoslynEcsTranslator.IterationContext group, TypeHandle componentType, RoslynEcsTranslator.AccessMode mode) { Parent.RecordComponentAccess(group, componentType, mode); if (IterationContext == group && mode == RoslynEcsTranslator.AccessMode.Write) { m_WrittenComponents.Add(componentType); } }