Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 3
0
        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);
Exemplo n.º 5
0
 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);
     }
 }