void Awake() { foreach (ShaderSetting setting in globals) { Vector4 d = setting.Values; PlayableShaderGlobalConfig.ValueType tp = setting.ShaderGlobalConfig.valueType; string key = setting.ShaderGlobalConfig.shaderParamName; switch (tp) { case PlayableShaderGlobalConfig.ValueType.Float: { Shader.SetGlobalFloat(key, d.x); break; } case PlayableShaderGlobalConfig.ValueType.Int: { Shader.SetGlobalInt(key, (int)d.x); break; } default: { Shader.SetGlobalVector(key, d); break; } } } }
Vector4 FindOrCreate(string name, PlayableShaderGlobalConfig.ValueType valueType) { Vector4 d; if (entries.TryGetValue(name, out d)) { return(d); } entries.Add(name, d); typemap.Add(name, valueType); return(d); }