public void OnAfterDeserialize() { if (primary_function_enum != null) { primary_function = (PrimaryFunction)Enum.Parse(typeof(PrimaryFunction), primary_function_enum); } if (hierarchy_rank_enum != null) { hierarchy_rank = (HierarchyRank)Enum.Parse(typeof(HierarchyRank), hierarchy_rank_enum); } if (item_function_enum != null) { item_function = (ItemFunction)Enum.Parse(typeof(ItemFunction), item_function_enum); } if (material_function_enum != null) { material_function = (MaterialFunction)Enum.Parse(typeof(MaterialFunction), material_function_enum); } if (morph_function_enum != null) { morph_function = (MorphFunction)Enum.Parse(typeof(MorphFunction), morph_function_enum); } if (animation_function_enum != null) { animation_function = (AnimationFunction)Enum.Parse(typeof(AnimationFunction), animation_function_enum); } if (artisttools_function_enum != null) { artisttools_function = (ArtistToolsFunction)Enum.Parse(typeof(ArtistToolsFunction), artisttools_function_enum); } }
internal static unsafe void Invoke(MaterialFunction MaterialFunction) { long *p = stackalloc long[] { 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = MaterialFunction; Main.GetProcessEvent(MaterialEditingLibrary.DefaultObject, DeleteAllMaterialExpressionsInFunction_ptr, new IntPtr(p));; } }
internal static unsafe int Invoke(MaterialFunction MaterialFunction) { long *p = stackalloc long[] { 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = MaterialFunction; Main.GetProcessEvent(MaterialEditingLibrary.DefaultObject, GetNumMaterialExpressionsInFunction_ptr, new IntPtr(p));; return(*((int *)(b + 8))); } }
internal static unsafe MaterialExpression Invoke(MaterialFunction MaterialFunction, SubclassOf <MaterialExpression> ExpressionClass, int NodePosX, int NodePosY) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = MaterialFunction; *((IntPtr *)(b + 8)) = ExpressionClass; *((int *)(b + 16)) = NodePosX; *((int *)(b + 20)) = NodePosY; Main.GetProcessEvent(MaterialEditingLibrary.DefaultObject, CreateMaterialExpressionInFunction_ptr, new IntPtr(p));; return(*((IntPtr *)(b + 24))); } }
///<summary>Delete a specific expression from a material function. Will disconnect from other expressions.</summary> public static void DeleteMaterialExpressionInFunction(MaterialFunction MaterialFunction, MaterialExpression Expression) => MaterialEditingLibrary_methods.DeleteMaterialExpressionInFunction_method.Invoke(MaterialFunction, Expression);
///<summary> ///Create a new material expression node within the supplied material function ///@ ///</summary> ///<remarks> ///param MaterialFunction Material function asset to add an expression to ///@param ExpressionClass Class of expression to add ///@param NodePosX X position of new expression node ///@param NodePosY Y position of new expression node ///</remarks> public static MaterialExpression CreateMaterialExpressionInFunction(MaterialFunction MaterialFunction, SubclassOf <MaterialExpression> ExpressionClass, int NodePosX, int NodePosY) => MaterialEditingLibrary_methods.CreateMaterialExpressionInFunction_method.Invoke(MaterialFunction, ExpressionClass, NodePosX, NodePosY);
///<summary>Returns number of material expressions in the supplied material</summary> public static int GetNumMaterialExpressionsInFunction(MaterialFunction MaterialFunction) => MaterialEditingLibrary_methods.GetNumMaterialExpressionsInFunction_method.Invoke(MaterialFunction);