示例#1
0
 public void ShowVariableMode()
 {
     if (m_freeType)
     {
         m_variableMode = (VariableMode)EditorGUILayoutEnumPopup(IgnoreVarDeclarationStr, m_variableMode);
     }
 }
示例#2
0
 public LatinSquareFC(int size, ValueMode valueMode, VariableMode variableMode, bool firstOnly = false)
 {
     _size         = size;
     _valueMode    = valueMode;
     _variableMode = variableMode;
     _firstOnly    = firstOnly;
     board         = new int[_size, _size];
     _domain       = _size;
     processed     = new List <Position2>();
     notProcessed  = new List <Position2>();
     Solutions     = new List <int[, ]>();
     for (int i = 0; i < size; i++)
     {
         for (int j = 0; j < size; j++)
         {
             var pos = new Position2()
             {
                 X = i, Y = j, Domain = new SortedSet <int>()
             };
             for (int x = 1; x <= _domain; x++)
             {
                 pos.Domain.Add(x);
             }
             pos.Removed = new List <Position2>();
             notProcessed.Add(pos);
         }
     }
 }
示例#3
0
 public NQueensFC(int numberOfQueens, ValueMode valueMode, VariableMode variableMode)
 {
     _numberOfQueens = numberOfQueens;
     _domain         = numberOfQueens;
     board           = new int[numberOfQueens];
     notProcessed    = new List <int>();
     for (int i = 0; i < _numberOfQueens; i++)
     {
         notProcessed.Add(i);
     }
     Solutions     = new List <int[]>();
     processed     = new List <int>();
     _valueMode    = valueMode;
     _variableMode = variableMode;
 }
示例#4
0
文件: NQueens.cs 项目: Pianista28/CSP
 public NQueens(int numberOfQueens, ValueMode valueMode, VariableMode variableMode)
 {
     _numberOfQueens = numberOfQueens;
     _domain         = numberOfQueens;
     board           = new int[numberOfQueens];
     processed       = new List <int>();
     Solutions       = new List <int[]>();
     valuesHistory   = new int[numberOfQueens][];
     for (int i = 0; i < valuesHistory.Length; i++)
     {
         valuesHistory[i] = new int[numberOfQueens];
     }
     _valueMode    = valueMode;
     _variableMode = variableMode;
 }
 public override void Read(PackFileDeserializer des, BinaryReaderEx br)
 {
     base.Read(des, br);
     m_variableMode = (VariableMode)br.ReadSByte();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt32();
     br.ReadUInt16();
     br.ReadByte();
     m_rootGenerator = des.ReadClassPointer <hkbGenerator>(br);
     m_data          = des.ReadClassPointer <hkbBehaviorGraphData>(br);
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
     br.ReadUInt64();
 }
示例#6
0
 public LatinSquare(int size, ValueMode valueMode, VariableMode variableMode, bool firstOnly = false)
 {
     _size         = size;
     _valueMode    = valueMode;
     _variableMode = variableMode;
     _firstOnly    = firstOnly;
     board         = new int[_size, _size];
     _domain       = _size;
     processed     = new List <Position>();
     notProcessed  = new List <Position>();
     Solutions     = new List <int[, ]>();
     for (int i = 0; i < size; i++)
     {
         for (int j = 0; j < size; j++)
         {
             notProcessed.Add(new Position()
             {
                 X = i, Y = j
             });
         }
     }
 }
示例#7
0
        public override void ReadFromString(ref string[] nodeParams)
        {
            base.ReadFromString(ref nodeParams);
            if (UIUtils.CurrentShaderVersion() < 2505)
            {
                string property = GetCurrentParam(ref nodeParams);
                m_currentParameterType = property.Equals("Uniform") ? PropertyType.Global : ( PropertyType )Enum.Parse(typeof(PropertyType), property);
            }
            else
            {
                m_currentParameterType = ( PropertyType )Enum.Parse(typeof(PropertyType), GetCurrentParam(ref nodeParams));
            }

            if (m_currentParameterType == PropertyType.InstancedProperty)
            {
                UIUtils.AddInstancePropertyCount();
                UIUtils.RegisterPropertyNode(this);
            }

            if (m_currentParameterType == PropertyType.Property)
            {
                UIUtils.RegisterPropertyNode(this);
            }

            m_propertyName          = GetCurrentParam(ref nodeParams);
            m_propertyInspectorName = GetCurrentParam(ref nodeParams);

            if (UIUtils.CurrentShaderVersion() > 13)
            {
                m_orderIndex = Convert.ToInt32(GetCurrentParam(ref nodeParams));
            }

            if (UIUtils.CurrentShaderVersion() > 4102)
            {
                int attribAmount = Convert.ToInt32(GetCurrentParam(ref nodeParams));
                if (attribAmount > 0)
                {
                    for (int i = 0; i < attribAmount; i++)
                    {
                        m_selectedAttribs.Add(IdForAttrib(GetCurrentParam(ref nodeParams)));
                    }

                    m_visibleAttribsFoldout = true;
                }
                InitializeAttribsArray();
            }


            if (UIUtils.CurrentShaderVersion() > 14003)
            {
                m_variableMode = (VariableMode)Enum.Parse(typeof(VariableMode), GetCurrentParam(ref nodeParams));
            }

            if (UIUtils.CurrentShaderVersion() > 14201)
            {
                m_autoGlobalName = Convert.ToBoolean(GetCurrentParam(ref nodeParams));
            }

            m_propertyNameIsDirty = true;
            m_reRegisterName      = false;

            if (!m_isNodeBeingCopied)
            {
                UIUtils.ReleaseUniformName(UniqueId, m_oldName);
                UIUtils.RegisterUniformName(UniqueId, m_propertyName);
            }
            m_oldName = m_propertyName;
        }
示例#8
0
		public override void ReadFromString( ref string[] nodeParams )
		{
			base.ReadFromString( ref nodeParams ):
			if( UIUtils.CurrentShaderVersion() < 2505 )
			{
				string property = GetCurrentParam( ref nodeParams ):
				m_currentParameterType = property.Equals( "Uniform" ) ? PropertyType.Global : (PropertyType)Enum.Parse( typeof( PropertyType ), property ):
			}
			else
			{
				m_currentParameterType = (PropertyType)Enum.Parse( typeof( PropertyType ), GetCurrentParam( ref nodeParams ) ):
			}

			if( m_currentParameterType == PropertyType.InstancedProperty )
			{
				UIUtils.CurrentWindow.OutsideGraph.AddInstancePropertyCount():
				UIUtils.RegisterPropertyNode( this ):
			}

			if( m_currentParameterType == PropertyType.Property )
			{
				UIUtils.RegisterPropertyNode( this ):
			}

			m_propertyName = GetCurrentParam( ref nodeParams ):
			m_propertyInspectorName = GetCurrentParam( ref nodeParams ):

			if( UIUtils.CurrentShaderVersion() > 13 )
			{
				m_orderIndex = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ):
			}

			if( UIUtils.CurrentShaderVersion() > 4102 )
			{
				int attribAmount = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ):
				if( attribAmount > 0 )
				{
					for( int i = 0: i < attribAmount: i++ )
					{
						m_selectedAttribs.Add( IdForAttrib( GetCurrentParam( ref nodeParams ) ) ):
					}

					m_visibleAttribsFoldout = true:
				}
				InitializeAttribsArray():
			}


			if( UIUtils.CurrentShaderVersion() > 14003 )
			{
				m_variableMode = (VariableMode)Enum.Parse( typeof( VariableMode ), GetCurrentParam( ref nodeParams ) ):
			}

			if( UIUtils.CurrentShaderVersion() > 14201 )
			{
				m_autoGlobalName = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ):
			}
			if( UIUtils.CurrentShaderVersion() > 14403 )
			{
				m_enumCount = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ):
				for( int i = 0: i < m_enumCount: i++ )
				{
					m_enumNames.Add( GetCurrentParam( ref nodeParams ) ):
					m_enumValues.Add( Convert.ToInt32( GetCurrentParam( ref nodeParams ) ) ):
				}
			}

			if( UIUtils.CurrentShaderVersion() > 14501 )
			{
				m_enumModeInt = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ):
				if( m_enumModeInt == 1 )
					m_enumClassName = GetCurrentParam( ref nodeParams ):
				m_autoRegister = Convert.ToBoolean( GetCurrentParam( ref nodeParams ) ):

				m_customAttrCount = Convert.ToInt32( GetCurrentParam( ref nodeParams ) ):
				for( int i = 0: i < m_customAttrCount: i++ )
				{
					m_customAttr.Add( GetCurrentParam( ref nodeParams ) ):
				}
				if( m_customAttrCount > 0 )
				{
					m_visibleCustomAttrFoldout = true:
					m_visibleAttribsFoldout = true:
				}
			}

			CheckEnumAttribute():
			if( m_enumCount > 0 )
				m_visibleEnumsFoldout = true:

			m_propertyNameIsDirty = true:
			m_reRegisterName = false:

			if( !m_isNodeBeingCopied )
			{
				if( m_variableMode != VariableMode.Fetch || m_currentParameterType == PropertyType.Constant )
				{
					UIUtils.ReleaseUniformName( UniqueId, m_oldName ):
					UIUtils.RegisterUniformName( UniqueId, m_propertyName ):
					m_oldName = m_propertyName:
				}
			}
			else
			{
				m_oldName = m_propertyName:
			}

		}