void AddCompressionSettings() { var formatField = new EnumField("Format", outputNode.compressionFormat); formatField.RegisterValueChangedCallback((e) => { owner.RegisterCompleteObjectUndo("Changed Compression Format"); outputNode.compressionFormat = (MixtureCompressionFormat)e.newValue; graph.UpdateOutputTexture(false); }); var qualityField = new EnumField("Quality", outputNode.compressionQuality); qualityField.RegisterValueChangedCallback((e) => { owner.RegisterCompleteObjectUndo("Changed Compression Quality"); outputNode.compressionQuality = (MixtureCompressionQuality)e.newValue; graph.UpdateOutputTexture(false); }); if (!outputNode.enableCompression) { qualityField.ToggleInClassList("Hidden"); formatField.ToggleInClassList("Hidden"); } var enabledField = new Toggle("Compression") { value = outputNode.enableCompression }; enabledField.RegisterValueChangedCallback((e) => { owner.RegisterCompleteObjectUndo("Toggled Compression"); qualityField.ToggleInClassList("Hidden"); formatField.ToggleInClassList("Hidden"); outputNode.enableCompression = e.newValue; graph.UpdateOutputTexture(false); }); controlsContainer.Add(enabledField); controlsContainer.Add(formatField); controlsContainer.Add(qualityField); }