void BuildGpuInstancingField(PropertySheet propertySheet, AbstractShaderProperty property) { var toggleDataPropertyDrawer = new ToggleDataPropertyDrawer(); propertySheet.Add(toggleDataPropertyDrawer.CreateGUI(newValue => { this._preChangeValueCallback("Change Hybrid Instanced Toggle"); property.gpuInstanced = newValue.isOn; this._postChangeValueCallback(false, ModificationScope.Graph); }, new ToggleData(property.gpuInstanced), "Hybrid Instanced (experimental)", out var gpuInstancedToggle)); gpuInstancedToggle.SetEnabled(property.isGpuInstanceable); }
void BuildBooleanKeywordField(PropertySheet propertySheet, ShaderKeyword keyword) { var toggleDataPropertyDrawer = new ToggleDataPropertyDrawer(); propertySheet.Add(toggleDataPropertyDrawer.CreateGUI( newValue => { this._preChangeValueCallback("Change property value"); keyword.value = newValue.isOn ? 1 : 0; this._postChangeValueCallback(false, ModificationScope.Graph); }, new ToggleData(keyword.value == 1), "Default", out var boolKeywordField)); }
void HandleBooleanProperty(PropertySheet propertySheet, BooleanShaderProperty booleanProperty) { var toggleDataPropertyDrawer = new ToggleDataPropertyDrawer(); propertySheet.Add(toggleDataPropertyDrawer.CreateGUI( newValue => { this._preChangeValueCallback("Change property value"); this._changeValueCallback(newValue); this._postChangeValueCallback(); }, new ToggleData(booleanProperty.value), "Default", out var propertyToggle)); }
void BuildExposedField(PropertySheet propertySheet) { if (!isSubGraph) { var toggleDataPropertyDrawer = new ToggleDataPropertyDrawer(); propertySheet.Add(toggleDataPropertyDrawer.CreateGUI( evt => { this._preChangeValueCallback("Change Exposed Toggle"); this._exposedFieldChangedCallback(evt.isOn); this._postChangeValueCallback(false, ModificationScope.Graph); }, new ToggleData(shaderInput.generatePropertyBlock), "Exposed", out var propertyToggle)); propertyToggle.SetEnabled(shaderInput.isExposable); } }