Ejemplo n.º 1
0
        void DrawPlot(Rect group)
        {
            Rect plotRect = new Rect(30f, 10f, 275f, 120f);

            GUI.BeginGroup(group, GUIResources.GetStyle("block_background"));
            GUI.DrawTexture(plotRect, graphTexture);

            int colorIndex = 0;

            foreach (ResourceProfile profile in drawnProfiles)
            {
                GUI.color = profileColors[colorIndex];
                GUI.Label(new Rect(236f, 15f + colorIndex * 18f, 80f, 25f), profile.resourceName, GUIResources.GetStyle("text_colored"));
                colorIndex++;
            }
            GUI.color = Color.white;
            GUIUtility.RotateAroundPivot(90f, new Vector2(10f, 10f));

            GUI.Label(new Rect(0f, 0f, 120f, 25f), String.Format("Relative Abundance"), GUIResources.GetStyle("text_label"));

            GUIUtility.RotateAroundPivot(-90f, new Vector2(10f, 10f));

            GUI.Label(new Rect(5f, 130f, 60f, 25f), String.Format("0 km"), GUIResources.GetStyle("text_label"));
            GUI.Label(new Rect(235f, 130f, 80f, 25f), String.Format("{0} km", (drawnProfiles[0].maxDistance / 1000f).ToString("F0")), GUIResources.GetStyle("text_label"));
            GUI.EndGroup();
        }
Ejemplo n.º 2
0
        protected void DrawHeader()
        {
            GUILayout.BeginHorizontal();

            GUILayout.FlexibleSpace();
            GUILayout.Label(windowTitle, GUIResources.GetStyle("window_header"), GUILayout.MaxHeight(26f), GUILayout.MinHeight(26f), GUILayout.MinWidth(350f));

            GUILayout.FlexibleSpace();

            Rect buttonRect = GUILayoutUtility.GetRect(22f, 22f);

            GUI.color = resources.GetColor("cancel_color");
            if (GUI.Button(buttonRect, "", GUIResources.GetStyle("button_cancel")))
            {
                ToggleWindow();
            }

            GUI.DrawTextureWithTexCoords(buttonRect, GUIResources.GetIcon("cancel").iconAtlas, GUIResources.GetIcon("cancel").iconRect);
            GUI.color = Color.white;
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            DrawControllers();
            DrawTemplateControl();
            DrawExporters();
            GUILayout.EndHorizontal();
        }
Ejemplo n.º 3
0
 protected void DrawMaterials()
 {
     GUILayout.BeginHorizontal();
     materialID = GUILayout.SelectionGrid(materialID, materialList, 2, GUIResources.GetStyle("radio_text_button"));
     if (materialID != savedID)
     {
         savedID = materialID;
         matl    = model.materials[savedID];
         InitializeShaderProperties(model.materials[savedID].materials[0]);
     }
     GUILayout.EndHorizontal();
 }
Ejemplo n.º 4
0
 public void Awake()
 {
     Instance         = this;
     resources        = new UIResources();
     profileColors    = new Color[6];
     profileColors[0] = GUIResources.GetColor("profile_0");
     profileColors[1] = GUIResources.GetColor("profile_1");
     profileColors[2] = GUIResources.GetColor("profile_2");
     profileColors[3] = GUIResources.GetColor("profile_3");
     profileColors[4] = GUIResources.GetColor("profile_4");
     profileColors[5] = GUIResources.GetColor("profile_5");
 }
Ejemplo n.º 5
0
        void DrawMiniWindow(int WindowID)
        {
            float curAM  = (float)(AntimatterFactory.Instance.Antimatter);
            float maxAM  = (float)(AntimatterFactory.Instance.AntimatterMax);
            float rateAM = (float)(AntimatterFactory.Instance.AntimatterRate);

            Rect barAreaRect = new Rect(39f, 0f, 160f, 32f);

            Vector2 barBackgroundSize = new Vector2(150, 20f);
            Vector2 barForegroundSize = new Vector2(Mathf.Max(barBackgroundSize.x * (curAM / maxAM), 8f), 18f);

            Rect barBackgroundRect = new Rect(0f, 10f, barBackgroundSize.x, barBackgroundSize.y);
            Rect barForeroundRect  = new Rect(0f, 11f, barForegroundSize.x, barForegroundSize.y);
            Rect storageTextRect   = new Rect(5f, 10f, 160f, 20f);
            Rect rateTextRect      = new Rect(barBackgroundSize.x - 90f, 10f, 90f, 20f);

            Rect amIconRect        = new Rect(5f, 5f, 32f, 32f);
            Rect factoryButtonRect = new Rect(200f, 5f, 32f, 32f);
            Rect loadoutButtonRect = new Rect(200f, 5f, 32f, 32f);

            GUI.BeginGroup(barAreaRect);
            GUI.Box(barBackgroundRect, "", GUIResources.GetStyle("bar_background"));
            GUI.color = GUIResources.GetColor("bar_blue");
            GUI.Box(barForeroundRect, "", GUIResources.GetStyle("bar_foreground"));
            GUI.color = Color.white;

            GUI.Label(storageTextRect, String.Format("<color=#ffffff>{0:F2} / {1:F0}</color>", curAM, maxAM), GUIResources.GetStyle("text_basic"));
            GUI.Label(rateTextRect, Localizer.Format("#LOC_FFT_AntimatterFactoryUI_MiniWindow_Rate", rateAM.ToString("F2")), GUIResources.GetStyle("text_label"));

            GUI.EndGroup();
            GUI.DrawTextureWithTexCoords(amIconRect, GUIResources.GetIcon("antimatter").iconAtlas, GUIResources.GetIcon("antimatter").iconRect);

            if (HighLogic.LoadedScene == GameScenes.SPACECENTER)
            {
                if (GUI.Button(factoryButtonRect, "", GUIResources.GetStyle("button_overlaid")))
                {
                    ShowFactory();
                }
                GUI.DrawTextureWithTexCoords(factoryButtonRect, GUIResources.GetIcon("factory").iconAtlas, GUIResources.GetIcon("factory").iconRect);
            }

            if (HighLogic.LoadedSceneIsFlight && AntimatterLoader.Instance != null && AntimatterLoader.Instance.loadingAllowed)
            {
                if (GUI.Button(loadoutButtonRect, "", GUIResources.GetStyle("button_overlaid")))
                {
                    ShowLoading();
                }
                GUI.DrawTextureWithTexCoords(loadoutButtonRect, GUIResources.GetIcon("pump").iconAtlas, GUIResources.GetIcon("pump").iconRect);
            }
        }
Ejemplo n.º 6
0
        void GenerateAxes()
        {
            Dictionary <float, float> xAxis1 = new Dictionary <float, float>();
            Dictionary <float, float> xAxis2 = new Dictionary <float, float>();

            xAxis1.Add(0f, 1f);
            xAxis1.Add(plotTextureSize.x, 0f);

            xAxis2.Add(0f, plotTextureSize.y - 2);
            xAxis2.Add(plotTextureSize.x, plotTextureSize.y - 2);

            CreateLine(graphTexture, xAxis1, GUIResources.GetColor("profile_axis"), 1f, 1f);
            CreateLine(graphTexture, xAxis2, GUIResources.GetColor("profile_axis"), 1f, 1f);
        }
Ejemplo n.º 7
0
        protected void DrawControllers()
        {
            GUILayout.BeginHorizontal();

            useControllers = GUILayout.Toggle(useControllers, "Link to Editor", GUILayout.Width(150));
            GUILayout.BeginVertical();
            GUILayout.Label("<b>CONTROLLERS</b>");

            //
            GUILayout.BeginHorizontal();
            GUILayout.Label("Throttle", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
            throttleControllerValue = GUILayout.HorizontalSlider(throttleControllerValue, 0f, 1f, GUILayout.MaxWidth(120f));
            GUILayout.Label(throttleControllerValue.ToString("F2"), GUIResources.GetStyle("data_field"), GUILayout.MinWidth(60f));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Atmosphere Depth", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
            densityControllerValue = GUILayout.HorizontalSlider(densityControllerValue, 0f, 1f, GUILayout.MaxWidth(120f));
            GUILayout.Label(densityControllerValue.ToString("F2"), GUIResources.GetStyle("data_field"), GUILayout.MinWidth(60f));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Randomness Min/Max", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
            string xValue = GUILayout.TextArea(randomControllerValue.x.ToString(), GUILayout.MaxWidth(60f));
            string yValue = GUILayout.TextArea(randomControllerValue.y.ToString(), GUILayout.MaxWidth(60f));

            float xParsed;
            float yParsed;

            if (float.TryParse(xValue, out xParsed) && float.TryParse(yValue, out yParsed))
            {
                if (xParsed != randomControllerValue.x || yParsed != randomControllerValue.y)
                {
                    randomControllerValue = new Vector2(xParsed, yParsed);
                }
            }

            GUILayout.EndHorizontal();


            GUILayout.BeginHorizontal();
            GUILayout.Label("RCS Throttle", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
            rcsControllerValue = GUILayout.HorizontalSlider(rcsControllerValue, 0f, 1f, GUILayout.MaxWidth(120f));
            GUILayout.Label(rcsControllerValue.ToString("F2"), GUIResources.GetStyle("data_field"), GUILayout.MinWidth(60f));
            GUILayout.EndHorizontal();

            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
        }
Ejemplo n.º 8
0
        void OnUIDraw()
        {
            if (AntimatterFactory.Instance != null)
            {
                if (showMiniWindow)
                {
                    miniWindowPos = GUI.Window(windowIdentifier, miniWindowPos, DrawMiniWindow, "", GUIResources.GetStyle("window_toolbar"));
                }

                if (showMainWindow)
                {
                    mainWindowPos = GUILayout.Window(windowIdentifier2, mainWindowPos, DrawMainWindow,
                                                     new GUIContent(),
                                                     GUIResources.GetStyle("window_main"), GUILayout.MinHeight(20), GUILayout.ExpandHeight(true));
                }
            }
        }
Ejemplo n.º 9
0
        void DrawPlottingWindow(int WindowID)
        {
            Rect closeRect     = new Rect(348f, 10f, 46f, 46f);
            Rect plotGroupRect = new Rect(10f, 50f, 330f, 155f);

            GUI.Box(new Rect(10f, 10f, 330f, 32f), "", GUIResources.GetStyle("block_background"));
            GUI.Label(new Rect(10f, 10f, 330f, 32f), "Spectrometer Profile", GUIResources.GetStyle("header_center"));

            DrawPlot(plotGroupRect);


            if (GUI.Button(closeRect, "X", GUIResources.GetStyle("button_basic")))
            {
                showWindow = false;
            }

            GUI.DragWindow();
        }
Ejemplo n.º 10
0
        protected void DrawAdd()
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Effect Name", GUILayout.Width(120f));
            newEffectName = GUILayout.TextArea(newEffectName);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Effect Parent", GUILayout.Width(120f));
            parentName = GUILayout.TextArea(parentName);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Effect Model", GUILayout.Width(120f));
            modelFlag = GUILayout.SelectionGrid(modelFlag,
                                                modelOptions, Mathf.Min(modelOptions.Length, 2),
                                                GUIResources.GetStyle("radio_text_button"));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Shader", GUILayout.Width(120f));
            shaderFlag = GUILayout.SelectionGrid(shaderFlag,
                                                 shaderOptions, Mathf.Min(shaderOptions.Length, 2),
                                                 GUIResources.GetStyle("radio_text_button"));
            GUILayout.EndHorizontal();


            if (GUILayout.Button("Add"))
            {
                Transform[] modelXforms = module.GetComponentsInChildren <Transform>();

                if (modelXforms.ToList().FindAll(x => x.name == parentName).Any())
                {
                    module.AddEffect(CreateNewEffect());
                    WaterfallUI.Instance.RefreshEffectList();
                    showWindow = false;
                }
            }
            if (GUILayout.Button("Cancel"))
            {
                showWindow = false;
            }
        }
        /// <summary>
        /// Draw the header area
        /// </summary>
        private void DrawHeaderArea()
        {
            GUILayout.BeginHorizontal();
            modeFlag = GUILayout.SelectionGrid(modeFlag, modeStrings, 2, GUIResources.GetStyle("radio_text_button"));

            GUILayout.FlexibleSpace();
            GUILayout.Label(windowTitle, GUIResources.GetStyle("window_header"), GUILayout.MaxHeight(26f), GUILayout.MinHeight(26f), GUILayout.MinWidth(350f));

            GUILayout.FlexibleSpace();
            Rect buttonRect = GUILayoutUtility.GetRect(22f, 22f);

            GUI.color = resources.GetColor("cancel_color");
            if (GUI.Button(buttonRect, "", GUIResources.GetStyle("button_cancel")))
            {
                ToggleWindow();
            }

            GUI.DrawTextureWithTexCoords(buttonRect, GUIResources.GetIcon("cancel").iconAtlas, GUIResources.GetIcon("cancel").iconRect);
            GUI.color = Color.white;
            GUILayout.EndHorizontal();
        }
Ejemplo n.º 12
0
        void DrawAMContainer(AntimatterContainer tank)
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("<b>" + tank.part.partInfo.title + "</b>", GUIResources.GetStyle("text_basic"), GUILayout.MaxWidth(180f));

            GUILayout.BeginVertical();
            tank.totalAmount     = (double)GUILayout.HorizontalSlider((float)tank.totalAmount, 0f, (float)tank.resource.maxAmount, GUIResources.GetStyle("slider"), GUIResources.GetStyle("slider_thumb"), GUILayout.MinWidth(110f), GUILayout.MaxWidth(110f));
            tank.requestedAmount = tank.totalAmount - tank.resource.amount;
            GUILayout.Label(String.Format("{0:F2} / {1:F2}", tank.totalAmount, tank.resource.maxAmount), GUIResources.GetStyle("text_label"));
            GUILayout.EndVertical();
            if (tank.requestedAmount >= 0d)
            {
                GUILayout.Label(String.Format("+{0:F2}", tank.requestedAmount), GUIResources.GetStyle("text_label"));
            }
            else
            {
                GUILayout.Label(String.Format("{0:F2}", tank.requestedAmount), GUIResources.GetStyle("text_label"));
            }
            GUILayout.EndHorizontal();

            AntimatterLoader.Instance.usedAM += tank.requestedAmount;
        }
Ejemplo n.º 13
0
        protected void DrawTemplateControl()
        {
            GUILayout.BeginVertical();
            if (selectedModule.Templates != null && selectedModule.Templates.Count > 0)
            {
                GUILayout.Label("<b>TEMPLATES</b>");
                GUILayout.BeginVertical(GUI.skin.textArea);

                GUILayout.BeginHorizontal();

                int selectedTemplateChanges = GUILayout.SelectionGrid(selectedTemplateIndex, templatesString, 4, GUIResources.GetStyle("radio_text_button"));

                if (selectedTemplateChanges != selectedTemplateIndex)
                {
                    selectedTemplateIndex = selectedTemplateChanges;
                    SelectTemplate(selectedModule.Templates[selectedTemplateIndex]);
                }

                if (GUILayout.Button("Copy offsets", GUILayout.Width(160f), GUILayout.Height(40)))
                {
                    string copiedString = "";
                    copiedString += $"position = {selectedTemplate.position.x},{selectedTemplate.position.y},{selectedTemplate.position.z}\n";
                    copiedString += $"rotation = {selectedTemplate.rotation.x}, {selectedTemplate.rotation.y}, {selectedTemplate.rotation.z}\n";
                    copiedString += $"scale = {selectedTemplate.scale.x}, {selectedTemplate.scale.y}, {selectedTemplate.scale.z}";

                    GUIUtility.systemCopyBuffer = copiedString;
                }
                GUILayout.EndHorizontal();

                GUILayout.Label(selectedModule.Templates[selectedTemplateIndex].templateName);
                GUILayout.BeginHorizontal();
                GUILayout.Label("Offset");
                modelOffset = UIUtils.Vector3InputField(GUILayoutUtility.GetRect(200f, 30f), modelOffset, modelOffsetString, GUI.skin.label, GUI.skin.textArea);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                GUILayout.Label("Rotation ");
                modelRotation = UIUtils.Vector3InputField(GUILayoutUtility.GetRect(200f, 30f), modelRotation, modelRotationString, GUI.skin.label, GUI.skin.textArea);
                GUILayout.EndHorizontal();
                GUILayout.BeginHorizontal();
                GUILayout.Label("Scale");
                modelScale = UIUtils.Vector3InputField(GUILayoutUtility.GetRect(200f, 30f), modelScale, modelScaleString, GUI.skin.label, GUI.skin.textArea);
                GUILayout.EndHorizontal();

                GUILayout.EndVertical();
            }
            GUILayout.EndVertical();
        }
Ejemplo n.º 14
0
 void OnUIDraw()
 {
     if (showWindow)
     {
         windowPos = GUI.Window(windowIdentifier, windowPos, DrawPlottingWindow, "", GUIResources.GetStyle("window_toolbar"));
     }
 }
Ejemplo n.º 15
0
        protected void DrawAdd()
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Modifier name");
            newModifierName = GUILayout.TextArea(newModifierName);
            GUILayout.EndHorizontal();
            GUILayout.Label("Modifier type");
            int modiferFlagChanged = GUILayout.SelectionGrid(modifierFlag, modifierTypes, Mathf.Min(modifierTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));

            if (modiferFlagChanged != modifierFlag)
            {
                modifierFlag = modiferFlagChanged;
                if (modifierTypes[modifierFlag].Contains("Material"))
                {
                    List <Renderer> xFormOptions = effect.GetModelTransforms()[0].GetComponentsInChildren <Renderer>().ToList();

                    transformOptions = new string[xFormOptions.Count];
                    for (int i = 0; i < xFormOptions.Count; i++)
                    {
                        transformOptions[i] = xFormOptions[i].gameObject.name;
                    }
                }
                else
                {
                    List <Transform> xFormOptions = effect.GetModelTransforms()[0].GetComponentsInChildren <Transform>().ToList();

                    transformOptions = new string[xFormOptions.Count];
                    for (int i = 0; i < xFormOptions.Count; i++)
                    {
                        transformOptions[i] = xFormOptions[i].name;
                    }
                }
            }
            GUILayout.Label("Target transform name");
            transformFlag = GUILayout.SelectionGrid(transformFlag, transformOptions, Mathf.Min(transformOptions.Length, 3), GUIResources.GetStyle("radio_text_button"));
            GUILayout.BeginHorizontal();
            GUILayout.Label("Controller name");
            controllerFlag = GUILayout.SelectionGrid(controllerFlag, controllerTypes, Mathf.Min(controllerTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));
            GUILayout.EndHorizontal();
            if (GUILayout.Button("Add"))
            {
                effect.AddModifier(CreateNewModifier());
                showWindow = false;
            }
            if (GUILayout.Button("Cancel"))
            {
                showWindow = false;
            }
        }
Ejemplo n.º 16
0
        protected void DrawControllers()
        {
            GUILayout.BeginHorizontal();
            GUILayout.BeginVertical();
            useControllers = GUILayout.Toggle(useControllers, "Link to Editor", GUILayout.Width(150));

            GUILayout.Label("<b>CONTROLLERS</b>");

            //
            GUILayout.BeginHorizontal();
            GUILayout.Label("Throttle", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(120f));
            throttleControllerValue = GUILayout.HorizontalSlider(throttleControllerValue, 0f, 1f, GUILayout.MaxWidth(100f));
            GUILayout.Label(throttleControllerValue.ToString("F2"), GUIResources.GetStyle("data_field"), GUILayout.MinWidth(40f));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Atmosphere Depth", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(120f));
            densityControllerValue = GUILayout.HorizontalSlider(densityControllerValue, 0f, 1f, GUILayout.MaxWidth(100f));
            GUILayout.Label(densityControllerValue.ToString("F2"), GUIResources.GetStyle("data_field"), GUILayout.MinWidth(40f));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Randomness Min/Max", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));

            string xValue = GUILayout.TextArea(randomControllerValue.x.ToString(), GUILayout.MaxWidth(60f));
            string yValue = GUILayout.TextArea(randomControllerValue.y.ToString(), GUILayout.MaxWidth(60f));

            float   xParsed;
            float   yParsed;
            Vector2 newRand = new Vector2(randomControllerValue.x, randomControllerValue.y);

            if (float.TryParse(xValue, out xParsed))
            {
                if (xParsed != randomControllerValue.x)
                {
                    newRand.x = xParsed;
                }
            }
            if (float.TryParse(yValue, out yParsed))
            {
                if (yParsed != randomControllerValue.y)
                {
                    newRand.y = yParsed;
                }
            }
            if (newRand.x != randomControllerValue.x || newRand.y != randomControllerValue.y)
            {
                randomControllerValue = new Vector2(xParsed, yParsed);
            }
            GUILayout.EndHorizontal();


            GUILayout.BeginHorizontal();
            GUILayout.Label("RCS Throttle", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(120f));
            rcsControllerValue = GUILayout.HorizontalSlider(rcsControllerValue, 0f, 1f, GUILayout.MaxWidth(100f));
            GUILayout.Label(rcsControllerValue.ToString("F2"), GUIResources.GetStyle("data_field"), GUILayout.MinWidth(40f));
            GUILayout.EndHorizontal();


            GUILayout.BeginHorizontal();
            GUILayout.Label("Smoke Control", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(120f));
            if (GUILayout.Button("Open", GUILayout.MaxWidth(100f)))
            {
                if (selectedModule)
                {
                    ModuleWaterfallSmoke smoke = selectedModule.part.GetComponent <ModuleWaterfallSmoke>();
                    if (smoke)
                    {
                        OpenSmokeEditor(smoke);
                    }
                }
            }


            GUILayout.EndHorizontal();

            GUILayout.EndVertical();
            GUILayout.EndHorizontal();
        }
Ejemplo n.º 17
0
        protected void DrawLightEdit()
        {
            float  headerWidth = 120f;
            bool   delta       = false;
            float  sliderVal;
            string textVal;

            GUILayout.Label("<b>Light Parameters</b>");

            GUILayout.BeginHorizontal();
            GUILayout.Label("Light Color", GUILayout.Width(headerWidth));
            GUILayout.Space(10);

            // Button to set that we are toggling the color picker
            if (GUILayout.Button("", GUILayout.Width(60)))
            {
                colorEdit = !colorEdit;
                Utils.Log($"[CP] Edit flag state {colorEdit}", LogType.UI);
                // if yes, open the window
                if (colorEdit)
                {
                    WaterfallUI.Instance.OpenColorEditWindow(colorValue);
                    Utils.Log("[CP] Open Window", LogType.UI);
                }
            }

            // If picker open
            if (colorEdit)
            {
                // Close all other pickers


                Color c = WaterfallUI.Instance.GetColorFromPicker();
                if (!c.IsEqualTo(colorValue))
                {
                    colorValue = c;
                    delta      = true;
                }
                if (delta)
                {
                    colorTexture = MaterialUtils.GenerateColorTexture(64, 32, colorValue);
                    model.SetLightColor(light, colorValue);
                }
            }



            Rect tRect = GUILayoutUtility.GetLastRect();

            tRect = new Rect(tRect.x + 3, tRect.y + 3, tRect.width - 6, tRect.height - 6);
            GUI.DrawTexture(tRect, colorTexture);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Light Type", GUILayout.Width(headerWidth));
            int newFlag = GUILayout.SelectionGrid(typeFlag,
                                                  typeOptions, 2,
                                                  GUIResources.GetStyle("radio_text_button"));


            if (newFlag != typeFlag)
            {
                typeFlag = newFlag;
                if (typeFlag == 1)
                {
                    model.SetLightType(light, LightType.Point);
                }
                if (typeFlag == 0)
                {
                    model.SetLightType(light, LightType.Spot);
                }
            }

            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Intensity", GUILayout.Width(headerWidth));
            sliderVal = GUILayout.HorizontalSlider(intensityValue, 0f, 10f);
            if (sliderVal != intensityValue)
            {
                intensityValue  = sliderVal;
                intensityString = sliderVal.ToString();
                model.SetLightIntensity(light, intensityValue);
            }

            textVal = GUILayout.TextArea(intensityString, GUILayout.Width(90f));
            if (textVal != intensityString)
            {
                float outVal;
                if (float.TryParse(textVal, out outVal))
                {
                    intensityValue = outVal;
                    model.SetLightIntensity(light, intensityValue);
                }
                intensityString = textVal;
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label("Range", GUILayout.Width(headerWidth));
            sliderVal = GUILayout.HorizontalSlider(rangeValue, 0f, 100f);
            if (sliderVal != rangeValue)
            {
                rangeValue  = sliderVal;
                rangeString = sliderVal.ToString();
                model.SetLightRange(light, rangeValue);
            }

            textVal = GUILayout.TextArea(rangeString, GUILayout.Width(90f));
            if (textVal != rangeString)
            {
                float outVal;
                if (float.TryParse(textVal, out outVal))
                {
                    rangeValue = outVal;
                    model.SetLightRange(light, rangeValue);
                }
                rangeString = textVal;
            }
            GUILayout.EndHorizontal();
            if (typeFlag == 0)
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label("Spot Angle", GUILayout.Width(headerWidth));
                sliderVal = GUILayout.HorizontalSlider(angleValue, 0f, 100f);
                if (sliderVal != angleValue)
                {
                    angleValue  = sliderVal;
                    angleString = sliderVal.ToString();
                    model.SetLightAngle(light, angleValue);
                }

                textVal = GUILayout.TextArea(angleString, GUILayout.Width(90f));
                if (textVal != angleString)
                {
                    float outVal;
                    if (float.TryParse(textVal, out outVal))
                    {
                        angleValue = outVal;
                        model.SetLightAngle(light, angleValue);
                    }
                    angleString = textVal;
                }
                GUILayout.EndHorizontal();
            }
        }
Ejemplo n.º 18
0
        void DrawTips()
        {
            GUI.skin = HighLogic.Skin;
            GUILayout.BeginHorizontal();
            GUILayout.Label(String.Format("{0}", Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_Title")));
            GUILayout.EndHorizontal();

            GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_IntroWindow_Description"), GUIResources.GetStyle("text_basic"));
            if (GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_IntroWindow_Dismiss"), GUIResources.GetStyle("button_basic")))
            {
                showMainWindow = false;
                AntimatterFactory.Instance.FirstLoad = false;
            }
        }
Ejemplo n.º 19
0
        void DrawLaunchMode()
        {
            GUI.skin = HighLogic.Skin;
            GUILayout.BeginHorizontal();
            GUILayout.Label(String.Format("{0}", Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_Title")));
            GUILayout.EndHorizontal();

            AntimatterLoader.Instance.availableAM = AntimatterFactory.Instance.Antimatter;
            AntimatterLoader.Instance.usedAM      = 0d;

            // Fuelling helper buttons
            GUILayout.BeginVertical(GUIResources.GetStyle("block_background"));

            GUILayout.BeginHorizontal();
            if (GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_Loader_FillAllTanks"), GUIResources.GetStyle("button_mini")))
            {
                AntimatterLoader.Instance.FillAllTanks();
            }
            if (GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_Loader_EmptyAllTanks"), GUIResources.GetStyle("button_mini")))
            {
                AntimatterLoader.Instance.EmptyAllTanks();
            }
            if (GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_Loader_EvenAllTanks"), GUIResources.GetStyle("button_mini")))
            {
                AntimatterLoader.Instance.EvenAllTanks();
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();

            // Tank display
            GUILayout.BeginVertical(GUIResources.GetStyle("block_background"));
            scrollPosition = GUILayout.BeginScrollView(scrollPosition, GUIResources.GetStyle("scroll_bar"), GUIResources.GetStyle("scroll_bar"), GUILayout.MinWidth(370f), GUILayout.MinHeight(250f));
            for (int i = 0; i < AntimatterLoader.Instance.antimatterTanks.Count; i++)
            {
                DrawAMContainer(AntimatterLoader.Instance.antimatterTanks[i]);
            }
            GUILayout.EndScrollView();
            GUILayout.EndVertical();

            // Results


            GUILayout.BeginHorizontal(GUIResources.GetStyle("block_background"));
            GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_AvailableAM", availableAM.ToString("F2")), GUIResources.GetStyle("text_basic"));
            GUILayout.FlexibleSpace();
            GUILayout.BeginVertical();

            if (AntimatterLoader.Instance.usedAM < 0d)
            {
                GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_LoadingResult_Refund", (-AntimatterLoader.Instance.usedAM).ToString("F2")), GUIResources.GetStyle("text_label"));
            }
            else if (AntimatterLoader.Instance.usedAM > AntimatterLoader.Instance.availableAM)
            {
                GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_LoadingResult_NotEnough", AntimatterLoader.Instance.usedAM.ToString("F2")), GUIResources.GetStyle("text_label"));
            }
            else
            {
                GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_LoadingResult_Ready", AntimatterLoader.Instance.usedAM.ToString("F2")), GUIResources.GetStyle("text_label"));
            }
            GUILayout.EndVertical();
            GUILayout.EndHorizontal();

            // Actions
            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Close", GUIResources.GetStyle("button_basic"), GUILayout.Width(60f)))
            {
                showMainWindow = false;
            }
            GUILayout.FlexibleSpace();
            // If antimatter used is negative, we will be unloading
            // If positive but greater than capacity, we cannot do anything
            // else just consume
            if (AntimatterLoader.Instance.usedAM < 0d)
            {
                GUI.enabled = true;
                if (GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_LoadButton_Refund"), GUIResources.GetStyle("button_basic"), GUILayout.Width(180f)))
                {
                    AntimatterLoader.Instance.ConsumeAntimatter();
                }
            }
            else if (AntimatterLoader.Instance.usedAM > AntimatterLoader.Instance.availableAM)
            {
                GUI.enabled = false;
                GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_LoadButton_NotEnough"), GUIResources.GetStyle("button_basic"), GUILayout.Width(180f));
            }
            else
            {
                GUI.enabled = true;
                if (GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_LoadButton_Ready"), GUIResources.GetStyle("button_basic"), GUILayout.Width(180f)))
                {
                    AntimatterLoader.Instance.ConsumeAntimatter();
                }
            }

            GUI.enabled = true;

            GUILayout.EndHorizontal();
        }
Ejemplo n.º 20
0
        void DrawFactoryMode()
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label(String.Format("{0}", Localizer.Format("#LOC_FFT_AntimatterFactoryUI_LoadoutWindow_Title")));
            GUILayout.EndHorizontal();
            GUILayout.BeginVertical();
            GUILayout.BeginHorizontal(GUIResources.GetStyle("block_background"));
            GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_FactoryWindow_Description"), GUIResources.GetStyle("text_basic"));

            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.BeginVertical();
            GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_FactoryWindow_Level", AntimatterFactory.Instance.FactoryLevel + 1), GUIResources.GetStyle("text_basic"));
            GUILayout.Label(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_FactoryWindow_Status", AntimatterFactory.Instance.GetStatusString()), GUIResources.GetStyle("text_basic"));
            GUILayout.EndVertical();
            if (!AntimatterFactory.Instance.IsMaxLevel())
            {
                if (GUILayout.Button(Localizer.Format("#LOC_FFT_AntimatterFactoryUI_FactoryWindow_Upgrade", FormatPrice(AntimatterFactory.Instance.GetNextLevelCost())), GUIResources.GetStyle("button_basic")))
                {
                    TryUpgradeFactory(AntimatterFactory.Instance.GetNextLevelCost());
                }
            }
            else
            {
                GUILayout.Space(100f);
            }

            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal(GUIResources.GetStyle("block_background"));

            float curAM  = (float)(AntimatterFactory.Instance.Antimatter);
            float maxAM  = (float)(AntimatterFactory.Instance.AntimatterMax);
            float rateAM = (float)(AntimatterFactory.Instance.AntimatterRate);

            Rect barAreaRect = GUILayoutUtility.GetRect(280, 68f);

            Vector2 barBackgroundSize = new Vector2(260, 20f);
            Vector2 barForegroundSize = new Vector2(Mathf.Max(barBackgroundSize.x * (curAM / maxAM), 8f), 18f);

            Rect barBackgroundRect = new Rect(10f, 10f, barBackgroundSize.x, barBackgroundSize.y);
            Rect barForeroundRect  = new Rect(10f, 11f, barForegroundSize.x, barForegroundSize.y);

            Rect storageTextRect = new Rect(barBackgroundSize.x - 80f, 33f, 80f, 40f);

            Rect rateTextRect = new Rect(0f, 29f, 80f, 20f);

            GUI.BeginGroup(barAreaRect);
            GUI.Box(barBackgroundRect, "", GUIResources.GetStyle("bar_background"));
            GUI.color = GUIResources.GetColor("bar_blue");
            GUI.Box(barForeroundRect, "", GUIResources.GetStyle("bar_foreground"));
            GUI.color = Color.white;


            GUI.Label(storageTextRect, Localizer.Format("#LOC_FFT_AntimatterFactoryUI_FactoryWindow_Storage", curAM.ToString("F2"), maxAM.ToString("F2")),
                      GUIResources.GetStyle("text_label"));
            GUI.Label(rateTextRect, Localizer.Format("#LOC_FFT_AntimatterFactoryUI_FactoryWindow_Rate", rateAM.ToString("F2")), GUIResources.GetStyle("text_label"));


            GUI.EndGroup();

            GUILayout.EndHorizontal();
            if (GUILayout.Button("Close", GUIResources.GetStyle("button_basic"), GUILayout.Width(60f)))
            {
                showMainWindow = false;
            }

            GUILayout.EndVertical();
        }
Ejemplo n.º 21
0
        protected void DrawAdd()
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Effect Name", GUILayout.Width(120f));
            newEffectName = GUILayout.TextArea(newEffectName);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Effect Parent", GUILayout.Width(120f));
            parentName = GUILayout.TextArea(parentName);
            GUILayout.EndHorizontal();


            GUILayout.Label("<b>SELECT WORKFLOW</b>", GUILayout.Width(120f));
            int newFlag = GUILayout.SelectionGrid(workflowFlag,
                                                  workflowOptions, Mathf.Min(workflowOptions.Length, 4),
                                                  GUIResources.GetStyle("radio_text_button"));


            if (newFlag != workflowFlag)
            {
                workflowFlag = newFlag;

                List <string> modelOpts = new List <string>();
                models = WaterfallAssets.GetModels((AssetWorkflow)Enum.Parse(typeof(AssetWorkflow), workflowOptions[workflowFlag]));
                foreach (WaterfallAsset w in models)
                {
                    modelOpts.Add($"<b>{w.Name}</b>\n{w.Description}\n{w.Path}");
                }
                modelOptions = modelOpts.ToArray();

                List <string> shaderOpts = new List <string>();
                shaders = WaterfallAssets.GetShaders((AssetWorkflow)Enum.Parse(typeof(AssetWorkflow), workflowOptions[workflowFlag]));
                foreach (WaterfallAsset w in shaders)
                {
                    shaderOpts.Add($"<b>{w.Name}</b>\n{w.Description}");
                }
                shaderOptions = shaderOpts.ToArray();

                modelFlag  = 0;
                shaderFlag = 0;
            }
            GUILayout.BeginVertical(GUI.skin.textArea);

            GUILayout.BeginHorizontal();
            GUILayout.Label("<b>Model</b>", GUILayout.Width(120f));
            modelFlag = GUILayout.SelectionGrid(modelFlag,
                                                modelOptions, Mathf.Min(modelOptions.Length, 2),
                                                GUIResources.GetStyle("radio_text_button"));
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("<b>Shader</b>", GUILayout.Width(120f));
            shaderFlag = GUILayout.SelectionGrid(shaderFlag,
                                                 shaderOptions, Mathf.Min(shaderOptions.Length, 2),
                                                 GUIResources.GetStyle("radio_text_button"));
            GUILayout.EndHorizontal();

            GUILayout.EndVertical();
            GUILayout.BeginHorizontal();

            randomizeSeed = GUILayout.Toggle(randomizeSeed, "Randomize Effect Seed");

            GUILayout.EndHorizontal();

            if (GUILayout.Button("Add"))
            {
                Transform[] modelXforms = module.GetComponentsInChildren <Transform>();

                if (modelXforms.ToList().FindAll(x => x.name == parentName).Any())
                {
                    module.AddEffect(CreateNewEffect());
                    WaterfallUI.Instance.RefreshEffectList();
                    showWindow = false;
                }
            }
            if (GUILayout.Button("Cancel"))
            {
                showWindow = false;
            }
        }
        protected void DrawModify()
        {
            GUILayout.BeginHorizontal();
            GUILayout.Label("Controller name");
            newControllerName = GUILayout.TextArea(newControllerName);
            GUILayout.EndHorizontal();
            GUILayout.Label("Controller type");
            int controllerFlagChanged = GUILayout.SelectionGrid(controllerFlag, controllerTypes, Mathf.Min(controllerTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));

            if (controllerFlagChanged != controllerFlag)
            {
                controllerFlag = controllerFlagChanged;
            }

            DrawControllerOptions();

            if (GUILayout.Button("Apply"))
            {
                fxMod.RemoveController(control);
                fxMod.AddController(CreateNewController());
                showWindow = false;
            }
            if (GUILayout.Button("Cancel"))
            {
                showWindow = false;
            }
        }
Ejemplo n.º 23
0
        protected void DrawPartsList()
        {
            GUILayout.BeginVertical();
            GUILayout.Label("<b>FX MODULES ON VESSEL</b>");

            partsScrollListPosition = GUILayout.BeginScrollView(partsScrollListPosition, GUILayout.Width(340f));


            int selectedModuleChanges = GUILayout.SelectionGrid(selectedModuleIndex, modulesString, Mathf.Min(modulesString.Length, 2), GUIResources.GetStyle("radio_text_button"));

            if (selectedModuleChanges != selectedModuleIndex)
            {
                selectedModuleIndex = selectedModuleChanges;
                SelectFXModule(effectsModules[selectedModuleIndex]);
            }

            GUILayout.EndScrollView();
            GUILayout.EndVertical();
        }
        public void DrawControllerOptions()
        {
            if (controllerTypes[controllerFlag] == "atmosphere_density")
            {
                // no special config
            }
            else if (controllerTypes[controllerFlag] == "custom")
            {
                // no special config
            }
            else if (controllerTypes[controllerFlag] == "engineEvent")
            {
                GUILayout.Label("Event name");
                int eventFlagChanged = GUILayout.SelectionGrid(eventFlag, eventTypes, Mathf.Min(eventTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));

                if (eventFlagChanged != eventFlag)
                {
                    eventFlag = eventFlagChanged;
                }
                Rect buttonRect = GUILayoutUtility.GetRect(curveButtonDims.x, curveButtonDims.y);
                Rect imageRect  = new Rect(buttonRect.xMin + 10f, buttonRect.yMin + 10, buttonRect.width - 20, buttonRect.height - 20);
                if (GUI.Button(buttonRect, ""))
                {
                    EditCurve(eventCurve, eventFun);
                }
                GUI.DrawTexture(imageRect, miniCurve);
                GUILayout.BeginHorizontal();
                GUILayout.Label("Event duration", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                eventDurationString = GUILayout.TextArea(eventDurationString, GUILayout.MaxWidth(60f));
                float floatParsed;
                if (float.TryParse(eventDurationString, out floatParsed))
                {
                    if (eventDuration != floatParsed)
                    {
                        eventDuration = floatParsed;
                    }
                }
                GUILayout.EndHorizontal();
            }
            else if (controllerTypes[controllerFlag] == "gimbal")
            {
                GUILayout.Label("Gimbal axis");
                int axisFlagChanged = GUILayout.SelectionGrid(axisFlag, axisTypes, Mathf.Min(axisTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));

                if (axisFlagChanged != axisFlag)
                {
                    axisFlag = axisFlagChanged;
                }
            }
            else if (controllerTypes[controllerFlag] == "light")
            {
            }
            else if (controllerTypes[controllerFlag] == "mach")
            {
                // no special config
            }
            else if (controllerTypes[controllerFlag] == "random")
            {
                GUILayout.Label("Random type");
                int randFlagChanged = GUILayout.SelectionGrid(randFlag, randTypes, Mathf.Min(randTypes.Length, 4), GUIResources.GetStyle("radio_text_button"));

                if (randFlagChanged != randFlag)
                {
                    randFlag = randFlagChanged;
                }
                if (randTypes[randFlag] == "random")
                {
                    GUILayout.BeginHorizontal();
                    GUILayout.Label("Min/Max", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));

                    randomStrings[0] = GUILayout.TextArea(randomStrings[0], GUILayout.MaxWidth(60f));
                    randomStrings[1] = GUILayout.TextArea(randomStrings[1], GUILayout.MaxWidth(60f));

                    float   xParsed;
                    float   yParsed;
                    Vector2 newRand = new Vector2(randomRange.x, randomRange.y);
                    if (float.TryParse(randomStrings[0], out xParsed))
                    {
                        if (xParsed != randomRange.x)
                        {
                            newRand.x = xParsed;
                        }
                    }
                    if (float.TryParse(randomStrings[1], out yParsed))
                    {
                        if (yParsed != randomRange.y)
                        {
                            newRand.y = yParsed;
                        }
                    }
                    if (newRand.x != randomRange.x || newRand.y != randomRange.y)
                    {
                        randomRange = new Vector2(xParsed, yParsed);
                    }
                    GUILayout.EndHorizontal();
                }
                if (randTypes[randFlag] == "perlin")
                {
                    GUILayout.BeginHorizontal();
                    GUILayout.Label("Seed", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                    randomStrings[0] = GUILayout.TextArea(randomStrings[0], GUILayout.MaxWidth(60f));
                    int intParsed;
                    if (int.TryParse(randomStrings[0], out intParsed))
                    {
                        if (perlinSeed != intParsed)
                        {
                            perlinSeed = intParsed;
                        }
                    }
                    GUILayout.EndHorizontal();
                    GUILayout.BeginHorizontal();
                    GUILayout.Label("Minimum", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                    randomStrings[3] = GUILayout.TextArea(randomStrings[3], GUILayout.MaxWidth(60f));
                    float floatParsed;
                    if (float.TryParse(randomStrings[3], out floatParsed))
                    {
                        if (perlinMin != floatParsed)
                        {
                            perlinMin = floatParsed;
                        }
                    }
                    GUILayout.EndHorizontal();

                    GUILayout.BeginHorizontal();
                    GUILayout.Label("Maximum", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                    randomStrings[1] = GUILayout.TextArea(randomStrings[1], GUILayout.MaxWidth(60f));
                    if (float.TryParse(randomStrings[1], out floatParsed))
                    {
                        if (perlinScale != floatParsed)
                        {
                            perlinScale = floatParsed;
                        }
                    }
                    GUILayout.EndHorizontal();
                    GUILayout.BeginHorizontal();
                    GUILayout.Label("Speed", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                    randomStrings[2] = GUILayout.TextArea(randomStrings[2], GUILayout.MaxWidth(60f));

                    if (float.TryParse(randomStrings[2], out floatParsed))
                    {
                        if (perlinSpeed != floatParsed)
                        {
                            perlinSpeed = floatParsed;
                        }
                    }
                    GUILayout.EndHorizontal();
                }
            }
            else if (controllerTypes[controllerFlag] == "rcs")
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label("Ramp Rate Up", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                throttleStrings[0] = GUILayout.TextArea(throttleStrings[0], GUILayout.MaxWidth(60f));
                float floatParsed;
                if (float.TryParse(throttleStrings[0], out floatParsed))
                {
                    if (rampRateUp != floatParsed)
                    {
                        rampRateUp = floatParsed;
                    }
                }
                GUILayout.EndHorizontal();

                GUILayout.BeginHorizontal();
                GUILayout.Label("Ramp Rate Down", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                throttleStrings[1] = GUILayout.TextArea(throttleStrings[1], GUILayout.MaxWidth(60f));
                if (float.TryParse(throttleStrings[1], out floatParsed))
                {
                    if (rampRateDown != floatParsed)
                    {
                        rampRateDown = floatParsed;
                    }
                }
                GUILayout.EndHorizontal();
            }
            else if (controllerTypes[controllerFlag] == "throttle")
            {
                GUILayout.BeginHorizontal();
                GUILayout.Label("Ramp Rate Up", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                throttleStrings[0] = GUILayout.TextArea(throttleStrings[0], GUILayout.MaxWidth(60f));
                float floatParsed;
                if (float.TryParse(throttleStrings[0], out floatParsed))
                {
                    if (rampRateUp != floatParsed)
                    {
                        rampRateUp = floatParsed;
                    }
                }
                GUILayout.EndHorizontal();

                GUILayout.BeginHorizontal();
                GUILayout.Label("Ramp Rate Down", GUIResources.GetStyle("data_header"), GUILayout.MaxWidth(160f));
                throttleStrings[1] = GUILayout.TextArea(throttleStrings[1], GUILayout.MaxWidth(60f));
                if (float.TryParse(throttleStrings[1], out floatParsed))
                {
                    if (rampRateDown != floatParsed)
                    {
                        rampRateDown = floatParsed;
                    }
                }
                GUILayout.EndHorizontal();
            }
            else if (controllerTypes[controllerFlag] == "thrust")
            {
                // no special config
            }
        }
Ejemplo n.º 25
0
        /// <summary>
        ///  Draws the common header area
        /// </summary>
        protected virtual void DrawHeader()
        {
            GUILayout.BeginVertical();

            GUILayout.BeginHorizontal();
            GUILayout.Label($"Transform Target {modifier.transformName}");
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Modifier Name");
            modifier.fxName = GUILayout.TextArea(modifier.fxName);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Controller");
            controllerFlag          = GUILayout.SelectionGrid(controllerFlag, controllerNames, controllerNames.Length, GUIResources.GetStyle("radio_text_button"));
            modifier.controllerName = controllerNames[controllerFlag];
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Combine Mode");
            combineModeFlag     = GUILayout.SelectionGrid(combineModeFlag, combineModes, combineModes.Length, GUIResources.GetStyle("radio_text_button"));
            modifier.effectMode = (EffectModifierMode)combineModeFlag;
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            modifier.useRandomness = GUILayout.Toggle(modifier.useRandomness, "Use Randomness");
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            if (modifier.useRandomness)
            {
                GUILayout.Label("Controller");
                modifier.randomnessController = GUILayout.TextArea(modifier.randomnessController);
                GUILayout.Label("Scale");
                randomText = GUILayout.TextArea(randomText);
                if (float.TryParse(randomText, out modifier.randomScale))
                {
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();
        }