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; }
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; }