void SelectCraft()
        {
            string strpath = HighLogic.SaveFolder;

            GUILayout.BeginHorizontal();
            GUI.enabled = craftlist == null;
            if (GUILayout.Button("Select Craft", Styles.normal,
                                 GUILayout.ExpandWidth(true)))
            {
                //GUILayout.Button is "true" when clicked
                craftlist = ELCraftBrowser.Spawn(control.craftType,
                                                 strpath,
                                                 craftSelectComplete,
                                                 craftSelectCancel,
                                                 false);
            }
            GUI.enabled = flagBrowser == null;
            if (GUILayout.Button(flagTexture, Styles.normal,
                                 GUILayout.Width(48), GUILayout.Height(32),
                                 GUILayout.ExpandWidth(false)))
            {
                CreateFlagBrowser();
            }
            GUI.enabled = control.craftConfig != null;
            if (GUILayout.Button("Reload", Styles.normal,
                                 GUILayout.ExpandWidth(false)))
            {
                control.LoadCraft(control.filename, control.flagname);
            }
            if (GUILayout.Button("Clear", Styles.normal,
                                 GUILayout.ExpandWidth(false)))
            {
                control.UnloadCraft();
            }
            GUI.enabled = true;
            GUILayout.EndHorizontal();
        }
Esempio n. 2
0
        void SelectCraft()
        {
            GUILayout.BeginHorizontal("box");
            GUILayout.FlexibleSpace();
            // VAB / SPH / Subassembly selection
            ExBuildControl.CraftType maxType = ExBuildControl.CraftType.SubAss;
            if (buildCraftList == null || true)
            {
                maxType = ExBuildControl.CraftType.SPH;
                if (control.craftType == ExBuildControl.CraftType.SubAss)
                {
                    control.craftType = ExBuildControl.CraftType.VAB;
                }
            }
            for (var t = ExBuildControl.CraftType.VAB; t <= maxType; t++)
            {
                if (GUILayout.Toggle(control.craftType == t, t.ToString(),
                                     GUILayout.Width(80)))
                {
                    control.craftType = t;
                }
            }
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            string strpath = HighLogic.SaveFolder;

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Select Craft", Styles.normal,
                                 GUILayout.ExpandWidth(true)))
            {
                EditorFacility [] facility = new EditorFacility[] {
                    EditorFacility.VAB,
                    EditorFacility.SPH,
                    EditorFacility.None,
                };
                var  diff  = HighLogic.CurrentGame.Parameters.Difficulty;
                bool stock = diff.AllowStockVessels;
                if (control.craftType == ExBuildControl.CraftType.SubAss)
                {
                    diff.AllowStockVessels = false;
                }
                //GUILayout.Button is "true" when clicked
                craftlist = CraftBrowserDialog.Spawn(facility[(int)control.craftType],
                                                     strpath,
                                                     craftSelectComplete,
                                                     craftSelectCancel,
                                                     false);
                if (buildCraftList != null &&
                    control.craftType == ExBuildControl.CraftType.SubAss)
                {
                    craftSubfolder.SetValue(craftlist, "../Subassemblies");
                    buildCraftList.Invoke(craftlist, null);
                }
                diff.AllowStockVessels = stock;
            }
            GUI.enabled = control.craftConfig != null;
            if (GUILayout.Button("Reload", Styles.normal,
                                 GUILayout.ExpandWidth(false)))
            {
                control.LoadCraft(control.filename, control.flagname);
            }
            if (GUILayout.Button("Clear", Styles.normal,
                                 GUILayout.ExpandWidth(false)))
            {
                control.UnloadCraft();
            }
            GUI.enabled = true;
            GUILayout.EndHorizontal();
        }
Esempio n. 3
0
        void SelectCraft()
        {
            GUILayout.BeginHorizontal("box");
            GUILayout.FlexibleSpace();
            // VAB / SPH / Subassembly selection
            ExBuildControl.CraftType maxType = ExBuildControl.CraftType.SubAss;
            if (buildCraftList == null)
            {
                maxType = ExBuildControl.CraftType.SPH;
                if (control.craftType == ExBuildControl.CraftType.SubAss)
                {
                    control.craftType = ExBuildControl.CraftType.VAB;
                }
            }
            for (var t = ExBuildControl.CraftType.VAB; t <= maxType; t++)
            {
                if (GUILayout.Toggle(control.craftType == t, t.ToString(),
                                     GUILayout.Width(80)))
                {
                    control.craftType = t;
                }
            }
            GUILayout.FlexibleSpace();
            GUILayout.EndHorizontal();

            string strpath = HighLogic.SaveFolder;

            GUILayout.BeginHorizontal();
            if (GUILayout.Button("Select Craft", Styles.normal,
                                 GUILayout.ExpandWidth(true)))
            {
                EditorFacility [] facility = new EditorFacility[] {
                    EditorFacility.VAB,
                    EditorFacility.SPH,
                    EditorFacility.None,
                };
                var  diff  = HighLogic.CurrentGame.Parameters.Difficulty;
                bool stock = diff.AllowStockVessels;
                if (control.craftType == ExBuildControl.CraftType.SubAss)
                {
                    diff.AllowStockVessels = false;
                }
                //GUILayout.Button is "true" when clicked
                var       clrect   = new Rect(Screen.width / 2, 100, 350, 500);
                Texture2D fileicon = Instantiate(AssetBase.GetTexture("craftThumbGeneric")) as Texture2D;
                craftlist = new CraftBrowser(clrect, facility[(int)control.craftType],
                                             strpath,
                                             "Select a ship to load",
                                             craftSelectComplete,
                                             craftSelectCancel,
                                             HighLogic.Skin,
                                             fileicon, true,
                                             false);
                if (buildCraftList != null &&
                    control.craftType == ExBuildControl.CraftType.SubAss)
                {
                    craftlist.craftSubfolder = "../Subassemblies";
                    buildCraftList.Invoke(craftlist, null);
                }
                diff.AllowStockVessels = stock;
            }
            GUI.enabled = control.craftConfig != null;
            if (GUILayout.Button("Reload", Styles.normal,
                                 GUILayout.ExpandWidth(false)))
            {
                control.LoadCraft(control.filename, control.flagname);
            }
            if (GUILayout.Button("Clear", Styles.normal,
                                 GUILayout.ExpandWidth(false)))
            {
                control.UnloadCraft();
            }
            GUI.enabled = true;
            GUILayout.EndHorizontal();
        }