Exemplo n.º 1
0
        private void DrawFoamSettingsGUI()
        {
            string label = "Foam";
            string id    = "water-profile-foam";

            PEditorCommon.Foldout(label, true, id, () =>
            {
                profile.EnableFoam = EditorGUILayout.Toggle("Enable", profile.EnableFoam);
                if (profile.EnableFoam)
                {
                    profile.EnableFoamHQ = EditorGUILayout.Toggle("High Quality", profile.EnableFoamHQ);
                    if (profile.EnableFoamHQ)
                    {
                        profile.FoamNoiseScaleHQ = EditorGUILayout.FloatField("Scale", profile.FoamNoiseScaleHQ);
                        profile.FoamNoiseSpeedHQ = EditorGUILayout.FloatField("Speed", profile.FoamNoiseSpeedHQ);
                    }
                    profile.FoamColor = EditorGUILayout.ColorField(new GUIContent("Color"), profile.FoamColor, true, true, true);

                    PEditorCommon.Header("Shoreline");
                    profile.FoamDistance          = EditorGUILayout.FloatField("Distance", profile.FoamDistance);
                    profile.ShorelineFoamStrength = EditorGUILayout.Slider("Strength", profile.ShorelineFoamStrength, 0f, 1f);

                    if (profile.EnableWave)
                    {
                        PEditorCommon.Header("Crest");
                        profile.CrestMaxDepth     = EditorGUILayout.FloatField("Max Depth", profile.CrestMaxDepth);
                        profile.CrestFoamStrength = EditorGUILayout.Slider("Strength", profile.CrestFoamStrength, 0f, 1f);
                    }

                    if (water.MeshType == PWaterMeshType.Spline)
                    {
                        PEditorCommon.Header("Slope");
                        profile.SlopeFoamDistance  = EditorGUILayout.FloatField("Distance", profile.SlopeFoamDistance);
                        profile.SlopeFoamFlowSpeed = EditorGUILayout.FloatField("Flow Speed", profile.SlopeFoamFlowSpeed);
                        profile.SlopeFoamStrength  = EditorGUILayout.Slider("Strength", profile.SlopeFoamStrength, 0f, 1f);
                    }
                }
            });
        }