SetAttributeDataDirty() public static method

public static SetAttributeDataDirty ( HEU_AttributeData attributeData ) : void
attributeData HEU_AttributeData
return void
示例#1
0
	private void ChangePaintMeshVisiblity(HEU_ToolsInfo.PaintMeshVisibility visiblity)
	{
	    _toolsInfo._paintMeshVisiblity = visiblity;
	    UpdatePaintMeshVisibility();

	    _GUIChanged = true;
	    HEU_AttributesStore.SetAttributeDataDirty(_selectedAttributeData);
	}
示例#2
0
		private void DrawEditAttributeValues()
		{
			if(_selectedAttributeData == null)
			{
				return;
			}

			if(_editPointsSelectedIndices.Count == 0)
			{
				return;
			}

			int arraySize = _selectedAttributeData._attributeInfo.tupleSize;

			// Use first values found as current values
			int ptIndex = _editPointsSelectedIndices[0] * arraySize;

			// Display values of selected pts which can be edited
			if (_selectedAttributeData._attributeType == HEU_AttributeData.AttributeType.INT)
			{
				// Copy values to display
				int[] values = new int[arraySize];
				for (int i = 0; i < arraySize; ++i)
				{
					values[i] = _selectedAttributeData._intValues[ptIndex + i];
				}

				// Display values and update attribute if changed
				bool bChanged = HEU_EditorUI.DrawArray<int>(_editValuesLabel, ref values, HEU_EditorUI.DrawFieldInt);
				if (bChanged)
				{
					int numPts = _editPointsSelectedIndices.Count;
					for (int i = 0; i < numPts; ++i)
					{
						ptIndex = _editPointsSelectedIndices[i] * arraySize;

						HEU_AttributesStore.SetAttributeEditValueInt(_selectedAttributeData, ptIndex, values);
					}

					_GUIChanged = true;

					HEU_AttributesStore.SetAttributeDataDirty(_selectedAttributeData);
				}
			}
			else if (_selectedAttributeData._attributeType == HEU_AttributeData.AttributeType.FLOAT)
			{
				// Copy values to display
				float[] values = new float[arraySize];
				for(int i = 0; i < arraySize; ++i)
				{
					values[i] = _selectedAttributeData._floatValues[ptIndex + i];
				}

				// Display values and update attribute if changed
				bool bChanged = HEU_EditorUI.DrawArray<float>(_editValuesLabel, ref values, HEU_EditorUI.DrawFieldFloat);
				if (bChanged)
				{
					int numPts = _editPointsSelectedIndices.Count;
					for (int i = 0; i < numPts; ++i)
					{
						ptIndex = _editPointsSelectedIndices[i] * arraySize;

						HEU_AttributesStore.SetAttributeEditValueFloat(_selectedAttributeData, ptIndex, values);
					}

					_GUIChanged = true;

					HEU_AttributesStore.SetAttributeDataDirty(_selectedAttributeData);
				}
			}
			else if (_selectedAttributeData._attributeType == HEU_AttributeData.AttributeType.STRING)
			{
				// Copy values to display
				string[] values = new string[arraySize];
				for (int i = 0; i < arraySize; ++i)
				{
					values[i] = _selectedAttributeData._stringValues[ptIndex + i];
				}

				// Display values and update attribute if changed
				bool bChanged = HEU_EditorUI.DrawArray<string>(_editValuesLabel, ref values, HEU_EditorUI.DrawFieldString);
				if (bChanged)
				{
					int numPts = _editPointsSelectedIndices.Count;
					for (int i = 0; i < numPts; ++i)
					{
						ptIndex = _editPointsSelectedIndices[i] * arraySize;

						HEU_AttributesStore.SetAttributeEditValueString(_selectedAttributeData, ptIndex, values);
					}

					_GUIChanged = true;

					HEU_AttributesStore.SetAttributeDataDirty(_selectedAttributeData);
				}
			}
		}