Exemplo n.º 1
0
        protected override void DrawWindowPost(int id)
        {
            if (dropDown && Event.current.type == EventType.mouseDown && !ddRect.Contains(Event.current.mousePosition))
            {
                dropDown = false;
            }

            //These methods update all of the UI elements whenever any of the options are changed
            if (windowMode == 0)
            {
                if (currentTerrain.PalRev != oldReverseState)
                {
                    oldReverseState = currentTerrain.PalRev;
                    drawPreviewLegend();
                }

                if (minTerrainSlider.valueChanged() || maxTerrainSlider.valueChanged())
                {
                    setTerrainSliders();
                }

                if (currentTerrain.PalDis != oldDiscreteState)
                {
                    oldDiscreteState = currentTerrain.PalDis;
                    drawPreviewLegend();
                }

                if (clampState != oldClampState)
                {
                    oldClampState = clampState;
                    drawPreviewLegend();
                }

                if (paletteSizeSlider.valueChanged())
                {
                    regenPaletteSets();
                    currentTerrain.ColorPal = palette.CurrentPalettes.availablePalettes[paletteIndex];
                    drawPreviewLegend();
                }
            }
            else if (windowMode == 1)
            {
                slopeColorPickerLow.colorStateChanged();
                slopeColorPickerLow.brightnessChanged();
                slopeColorPickerHigh.colorStateChanged();
                slopeColorPickerHigh.brightnessChanged();
            }
            else if (windowMode == 2)
            {
                biomeColorPicker.colorStateChanged();
                biomeColorPicker.brightnessChanged();
            }
            else if (windowMode == 3)
            {
                if (resourceMinSlider.valueChanged() || resourceMaxSlider.valueChanged())
                {
                    setResourceSliders();
                }

                if (bodyIndex != data.Body.flightGlobalsIndex)
                {
                    SCANUtil.SCANdebugLog("Trigger Body Change");
                    bodyIndex = data.Body.flightGlobalsIndex;

                    currentResource.CurrentBodyConfig(data.Body.name);

                    lowRCutoff  = currentResource.CurrentBody.MinValue;
                    highRCutoff = currentResource.CurrentBody.MaxValue;

                    oldFineControl = fineControlMode = false;

                    setResourceSliders();
                }

                if (oldFineControl != fineControlMode)
                {
                    oldFineControl = fineControlMode;
                    if (fineControlMode)
                    {
                        if (lowRCutoff < 5f)
                        {
                            resourceMinSlider.MinValue = 0f;
                        }
                        else
                        {
                            resourceMinSlider.MinValue = lowRCutoff - 5;
                        }

                        if (lowRCutoff > 95f)
                        {
                            resourceMinSlider.MaxValue = 100f;
                        }
                        else if (highRCutoff < lowRCutoff + 5f)
                        {
                            resourceMinSlider.MaxValue = highRCutoff - 0.1f;
                        }
                        else
                        {
                            resourceMinSlider.MaxValue = lowRCutoff + 5f;
                        }

                        if (highRCutoff < 5f)
                        {
                            resourceMaxSlider.MinValue = 0f;
                        }
                        else if (lowRCutoff > highRCutoff - 5f)
                        {
                            resourceMaxSlider.MinValue = lowRCutoff + 0.1f;
                        }
                        else
                        {
                            resourceMaxSlider.MinValue = highRCutoff - 5f;
                        }

                        if (highRCutoff > 95f)
                        {
                            resourceMaxSlider.MaxValue = 100f;
                        }
                        else
                        {
                            resourceMaxSlider.MaxValue = highRCutoff + 5f;
                        }
                    }
                    else
                    {
                        setResourceSliders();
                    }
                }

                resourceColorPicker.colorStateChanged();
                resourceColorPicker.brightnessChanged();
            }

            sessionRect = WindowRect;
        }