summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/MaterializeFX/MaterializationFX/Scripts/ShaderParameterSetter.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-23 13:08:43 +0800
committerchai <chaifix@163.com>2020-10-23 13:08:43 +0800
commitb82da95b5181ac8bbae38efb13e950d5e88a4caa (patch)
tree48a6f3269276484bbc7cfc95f0651f40a2176aa1 /Assets/ThirdParty/MaterializeFX/MaterializationFX/Scripts/ShaderParameterSetter.cs
parent917e9e0b320775634dc2e710f7deac74fd0822f0 (diff)
*移动amplify shader editor到third party目录
Diffstat (limited to 'Assets/ThirdParty/MaterializeFX/MaterializationFX/Scripts/ShaderParameterSetter.cs')
-rw-r--r--Assets/ThirdParty/MaterializeFX/MaterializationFX/Scripts/ShaderParameterSetter.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/Assets/ThirdParty/MaterializeFX/MaterializationFX/Scripts/ShaderParameterSetter.cs b/Assets/ThirdParty/MaterializeFX/MaterializationFX/Scripts/ShaderParameterSetter.cs
new file mode 100644
index 00000000..47b1832a
--- /dev/null
+++ b/Assets/ThirdParty/MaterializeFX/MaterializationFX/Scripts/ShaderParameterSetter.cs
@@ -0,0 +1,37 @@
+using UnityEngine;
+
+namespace MaterializationFX.Scripts
+{
+ internal sealed class ShaderParameterSetter
+ {
+ private Renderer[] _rends;
+
+ public void Init(GameObject targetObject, string shaderName, bool modifyChildren)
+ {
+ _rends = !modifyChildren
+ ? new[] {targetObject.GetComponent<Renderer>()}
+ : targetObject.GetComponentsInChildren<Renderer>();
+
+ foreach (var rend in _rends)
+ rend.material.shader = Shader.Find(shaderName);
+ }
+
+ public void SetFloat(string propertyName, float value)
+ {
+ foreach (var rend in _rends)
+ rend.material.SetFloat(propertyName, value);
+ }
+
+ public void SetInt(string propertyName, int value)
+ {
+ foreach (var rend in _rends)
+ rend.material.SetInt(propertyName, value);
+ }
+
+ public void SetVector(string propertyName, Vector3 value)
+ {
+ foreach (var rend in _rends)
+ rend.material.SetVector(propertyName, value);
+ }
+ }
+} \ No newline at end of file