/// <summary> /// Loads the profile from the input configuration node. /// </summary> /// <param name="node"></param> public void LoadProfile(ConfigNode node) { ProfileName = node.GetStringValue("name"); HDREnabled = node.GetBoolValue("hdr", false); AntiAliasing = node.GetEnumValue("antialiasing", PostProcessLayer.Antialiasing.None); Settings.Clear(); ConfigNode[] effectNodes = node.GetNodes("EFFECT"); int len = effectNodes.Length; for (int i = 0; i < len; i++) { BuiltinEffect effect = effectNodes[i].GetEnumValue("name", BuiltinEffect.AmbientOcclusion); PostProcessEffectSettings set = TUFXProfileManager.CreateEmptySettingsForEffect(effect); set.enabled.Override(true); set.Load(effectNodes[i]); Settings.Add(set); } }
public static PostProcessEffectSettings CreateEmptySettingsForEffect(BuiltinEffect effect) { switch (effect) { case BuiltinEffect.AmbientOcclusion: return(ScriptableObject.CreateInstance <AmbientOcclusion>()); case BuiltinEffect.AutoExposure: return(ScriptableObject.CreateInstance <AutoExposure>()); case BuiltinEffect.Bloom: return(ScriptableObject.CreateInstance <Bloom>()); case BuiltinEffect.ChromaticAberration: return(ScriptableObject.CreateInstance <ChromaticAberration>()); case BuiltinEffect.ColorGrading: return(ScriptableObject.CreateInstance <ColorGrading>()); case BuiltinEffect.DepthOfField: return(ScriptableObject.CreateInstance <DepthOfField>()); case BuiltinEffect.Grain: return(ScriptableObject.CreateInstance <Grain>()); case BuiltinEffect.LensDistortion: return(ScriptableObject.CreateInstance <LensDistortion>()); case BuiltinEffect.MotionBlur: return(ScriptableObject.CreateInstance <MotionBlur>()); case BuiltinEffect.Scattering: return(ScriptableObject.CreateInstance <TUBISEffect>()); case BuiltinEffect.Vignette: return(ScriptableObject.CreateInstance <Vignette>()); default: break; } return(null); }