Exemplo n.º 1
0
        public void SetComponentOperation(TypeHandle type, ComponentOperationType operation)
        {
            var i = m_AdditionalComponents.FindIndex(compOps => compOps.Type == type);

            if (i == -1)
            {
                m_AdditionalComponents.Add(new ComponentOperation(type, operation));
            }
            else if (operation == ComponentOperationType.AddComponent ||
                     operation == ComponentOperationType.RemoveComponent ||
                     operation == ComponentOperationType.SetComponent)
            {
                m_AdditionalComponents[i] =
                    new ComponentOperation(type, operation, m_AdditionalComponents[i].FromArchetype);
            }
            else
            {
                throw new ArgumentOutOfRangeException(nameof(operation), operation, null);
            }
        }
Exemplo n.º 2
0
 public ComponentOperation(TypeHandle type, ComponentOperationType operationType, bool fromArchetype = false)
 {
     Type          = type;
     OperationType = operationType;
     FromArchetype = fromArchetype;
 }