public static bool Inspect <T>(ref T configs, Func <T, T> func) where T : ConfigurationsListBase { var changed = false; if (configs) { if (icon.UnLinked.Click("Disconnect config")) { configs = null; } else { configs.Nested_Inspect().nl(ref changed); } } else { "Configs".edit(90, ref configs); if (icon.Create.Click("Create new Config")) { configs = UnityUtils.CreateScriptableObjectAsset <T>("Tools/Configs", "Config"); } pegi.nl(); } return(changed); }
public bool Inspect() { bool changed = false; bool notInspectingProperty = inspectedProperty == -1; _thickness.enter_Inspect_AsList(ref inspectedProperty, 0).nl(ref changed); if (notInspectingProperty) { "Noise:".edit(ref _noise.targetValue, 0, 2).nl(ref changed); } upscale.enter_Inspect_AsList(ref inspectedProperty, 1).nl(ref changed); _simulationSpeed.enter_Inspect_AsList(ref inspectedProperty, 2).nl(ref changed); if (notInspectingProperty) { "Control Project Settings".toggleIcon(ref modifyProjectSettings).nl(); "Shadow:".write(PEGI_Styles.ListLabel); pegi.nl(); "_color:".edit(60, ref shadowColor.targetValue).nl(ref changed); } if (modifyProjectSettings) { shadowDistance.enter_Inspect_AsList(ref inspectedProperty, 3).nl(ref changed); bool fog = RenderSettings.fog; if (notInspectingProperty && "Fog (Recommended)".toggleIcon(ref fog, true).changes(ref changed)) { RenderSettings.fog = fog; } if (fog) { var fogMode = RenderSettings.fogMode; if (notInspectingProperty) { "Fog Color".edit(60, ref fogColor.targetValue).nl(); if ("Fog Mode".editEnum(ref fogMode).nl()) { RenderSettings.fogMode = fogMode; } } if (fogMode == FogMode.Linear) { fogDistance.enter_Inspect_AsList(ref inspectedProperty, 4).nl(ref changed); } else { fogDensity.enter_Inspect_AsList(ref inspectedProperty, 5).nl(ref changed); } } if (notInspectingProperty) { "Sky Color".edit(60, ref skyColor.targetValue).nl(ref changed); } } pegi.nl(); if (notInspectingProperty) { "Water foam mask".edit(ref foamTexture).nl(ref changed); if (configs) { if (icon.UnLinked.Click("Disconnect config")) { configs = null; } else { "Configurations".edit_List(ref configs.configurations, EditConfiguration).changes(ref changed); } } else { "Configs".edit(90, ref configs); if (icon.Create.Click("Create new Config")) { configs = UnityUtils.CreateScriptableObjectAsset <FoamyWaterConfigs, FoamyWaterConfigs>( "Tools/ToonStyleWater", "Water Config"); } pegi.nl(); } } if (Application.isPlaying) { "Changes will not be saved when exiting play mode".writeOneTimeHint("FoamCfgChangeLoss"); if (ld.linkedPortion < 1) { "Lerping {0}".F(ld.dominantParameter).write(); ("Each parameter has a transition speed. THis text shows which parameter sets speed for others (the slowest one). " + "If Transition is too slow, increase this parameter's speed").fullWindowDocumentationClick(); pegi.nl(); } } if (changed) { UpdateShaderProperties(); #if UNITY_EDITOR if (Application.isPlaying == false) { SceneView.RepaintAll(); UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); } #endif } return(changed); }