blob: 47b1832aa1a40e1c983cac1088bf38924f914121 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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);
}
}
}
|