Пример #1
0
		public static SetAttributeValueFunc GetAttributeSetValueFunction(HEU_AttributeData.AttributeType attrType, HEU_ToolsInfo.PaintMergeMode paintMergeMode)
		{
			SetAttributeValueFunc setAttrFunc = null;
			if (attrType == HEU_AttributeData.AttributeType.INT)
			{
				if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.REPLACE)
				{
					setAttrFunc = HEU_AttributesStore.ReplaceAttributeValueInt;
				}
				else if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.ADD)
				{
					setAttrFunc = HEU_AttributesStore.AddAttributeValueInt;
				}
				else if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.SUBTRACT)
				{
					setAttrFunc = HEU_AttributesStore.SubtractAttributeValueInt;
				}
				else if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.MULTIPLY)
				{
					setAttrFunc = HEU_AttributesStore.MultiplyAttributeValueInt;
				}
			}
			else if (attrType == HEU_AttributeData.AttributeType.FLOAT)
			{
				if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.REPLACE)
				{
					setAttrFunc = HEU_AttributesStore.ReplaceAttributeValueFloat;
				}
				else if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.ADD)
				{
					setAttrFunc = HEU_AttributesStore.AddAttributeValueFloat;
				}
				else if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.SUBTRACT)
				{
					setAttrFunc = HEU_AttributesStore.SubtractAttributeValueFloat;
				}
				else if (paintMergeMode == HEU_ToolsInfo.PaintMergeMode.MULTIPLY)
				{
					setAttrFunc = HEU_AttributesStore.MultiplyAttributeValueFloat;
				}
			}
			else if (attrType == HEU_AttributeData.AttributeType.STRING)
			{
				setAttrFunc = HEU_AttributesStore.SetAttributeValueString;
			}

			return setAttrFunc;
		}
Пример #2
0
		public HEU_AttributeData CreateAttribute(string attributeName, ref HAPI_AttributeInfo attributeInfo)
		{
			HEU_AttributeData.AttributeType attributeType = HEU_AttributeData.AttributeType.UNDEFINED;
			if (attributeInfo.storage == HAPI_StorageType.HAPI_STORAGETYPE_INT)
			{
				attributeType = HEU_AttributeData.AttributeType.INT;
			}
			else if (attributeInfo.storage == HAPI_StorageType.HAPI_STORAGETYPE_FLOAT)
			{
				attributeType = HEU_AttributeData.AttributeType.FLOAT;
			}
			else if (attributeInfo.storage == HAPI_StorageType.HAPI_STORAGETYPE_STRING)
			{
				attributeType = HEU_AttributeData.AttributeType.STRING;
			}

			HEU_AttributeData attributeData = new HEU_AttributeData();
			attributeData._name = attributeName;
			attributeData._attributeType = attributeType;
			attributeData._attributeInfo = attributeInfo;
			attributeData._attributeState = HEU_AttributeData.AttributeState.INVALID;

			return attributeData;
		}