protected override bool OnAttached() { var result = base.OnAttached(); this.EnabledSSAO = true; this.EnabledSSR = true; this.EnabledDoF = true; this.EnabledBloom = true; this.EnabledTonemapping = true; var enabledNodes = volume.ppGraph.Description.Nodes.FindAll(n => n.Name == "Enabled"); // SSAO var ssaoEnabledNode = enabledNodes.First(); this.ssaoProperty = ssaoEnabledNode.Inputs[0].Type as PostProcessingNodePortDirectiveType; // SSR var ssrEnabledNode = enabledNodes.Skip(1).Take(1).Single(); this.ssrProperty = ssrEnabledNode.Inputs[0].Type as PostProcessingNodePortDirectiveType; // Dof var dofEnabledNode = enabledNodes.Skip(5).Take(1).Single(); this.dofProperty = dofEnabledNode.Inputs[0].Type as PostProcessingNodePortDirectiveType; // Bloom var bloomEnabledNode = enabledNodes.Skip(6).Take(1).Single(); this.bloomProperty = bloomEnabledNode.Inputs[0].Type as PostProcessingNodePortDirectiveType; // Tonemapping var toneEnabledNode = enabledNodes.Skip(7).Take(1).Single(); this.toneProperty = toneEnabledNode.Inputs[0].Type as PostProcessingNodePortDirectiveType; return(result); }
private void RefreshProperty(PostProcessingNodePortDirectiveType property, bool value) { property.Value = value ? property.Directives[1] : property.Directives[0]; }