public static void ResetAllProceduralValues(SubstanceDefaultMaterialParams substanceDefaultMaterialParams, SubstanceMaterialParams substanceMaterialParams, SubstanceAnimationParams animationParams, SubstanceToolParams substanceToolParams) // Resets all procedural values to default(When the material was first selected) { for (int i = 0; i <= substanceDefaultMaterialParams.defaultSubstanceObjProperties.Count - 1; i++) { if ((substanceMaterialParams.substance.name == substanceDefaultMaterialParams.defaultSubstanceObjProperties[i].PropertyMaterialName) || (substanceMaterialParams.rend.sharedMaterial.name == substanceDefaultMaterialParams.defaultSubstanceObjProperties[i].PropertyMaterialName)) { substanceMaterialParams.resettingValuesToDefault = true; SubstanceTweenSetParameterUtility.SetProceduralVariablesFromList(substanceDefaultMaterialParams.defaultSubstanceObjProperties[i], substanceMaterialParams, animationParams, substanceToolParams); substanceMaterialParams.MainTexOffset = substanceDefaultMaterialParams.defaultSubstanceObjProperties[i].MainTex; if (substanceMaterialParams.rend.sharedMaterial.HasProperty("_EmissionColor")) { substanceMaterialParams.rend.sharedMaterial.EnableKeyword("_EMISSION"); substanceMaterialParams.emissionInput = substanceDefaultMaterialParams.defaultSubstanceObjProperties[i].emissionColor; substanceMaterialParams.rend.sharedMaterial.SetColor("_EmissionColor", substanceMaterialParams.emissionInput);; substanceToolParams.selectedPrefabScript.emissionInput = substanceMaterialParams.emissionInput; } substanceMaterialParams.substance.RebuildTexturesImmediately(); substanceMaterialParams.resettingValuesToDefault = false; return; } } }
public static void AddDefaultMaterial(SubstanceMaterialParams substanceMaterialParams, SubstanceAnimationParams animationParams, SubstanceToolParams substanceToolParams, SubstanceDefaultMaterialParams substanceDefaultMaterialParams) { substanceDefaultMaterialParams.defaultSubstanceObjProperties.Add(new MaterialVariableListHolder()); substanceDefaultMaterialParams.defaultSubstance = substanceMaterialParams.rend.sharedMaterial as ProceduralMaterial; substanceMaterialParams.materialVariables = substanceMaterialParams.substance.GetProceduralPropertyDescriptions(); substanceDefaultMaterialParams.defaultSubstanceObjProperties[animationParams.defaultSubstanceIndex].PropertyMaterialName = substanceDefaultMaterialParams.defaultSubstance.name; SubstanceTweenStorageUtility.AddProceduralVariablesToList(substanceDefaultMaterialParams.defaultSubstanceObjProperties[animationParams.defaultSubstanceIndex], substanceMaterialParams, animationParams, substanceToolParams); substanceDefaultMaterialParams.defaultSubstanceObjProperties[animationParams.defaultSubstanceIndex].MainTex = substanceMaterialParams.MainTexOffset; substanceDefaultMaterialParams.defaultSubstanceObjProperties[animationParams.defaultSubstanceIndex].emissionColor = substanceMaterialParams.emissionInput; animationParams.defaultSubstanceIndex++; }