Example #1
0
 public UISmokeEditWindow OpenSmokeEditor(ModuleWaterfallSmoke toEdit)
 {
     if (smokeEditWindow != null)
     {
     }
     else
     {
         smokeEditWindow = new UISmokeEditWindow(toEdit, true);
     }
     return(smokeEditWindow);
 }
        public UISmokeEditWindow(ModuleWaterfallSmoke smoke, bool show) : base(show)
        {
            smokeModule = smoke;
            Utils.Log($"[UISmokeEditWindoww]: Started editing smoke on {true.ToString()}", LogType.UI);

            startSizeRange     = smoke.startSizeRange;
            emissionRateRange  = smoke.emissionRateRange;
            emissionSpeedRange = smoke.emissionSpeedRange;
            lifetimeRange      = smoke.lifetimeRange;

            startSizeRangeString     = new[] { startSizeRange.x.ToString(), startSizeRange.y.ToString() };
            emissionRateRangeString  = new[] { emissionRateRange.x.ToString(), emissionRateRange.y.ToString() };
            emissionSpeedRangeString = new[] { emissionSpeedRange.x.ToString(), emissionSpeedRange.y.ToString() };
            lifetimeRangeString      = new[] { lifetimeRange.x.ToString(), lifetimeRange.y.ToString() };

            WindowPosition = new(Screen.width / 2 - 200, Screen.height / 2f, 400, 100);
        }
Example #3
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();
        }