static private void Initialize() { //Figure out the program directory ProgramDirectory = Application.ExecutablePath.Remove(Application.ExecutablePath.IndexOf(Path.GetFileName(Application.ExecutablePath))); //Initialize global pens/brushes/bitmaps DrawUtil.Initialize(); //Make sure the recent project list is valid InitRecentProjects(); //The levels holder Levels = new List <Level>(); CurrentLevelIndex = -1; //The windows MainWindow = new MainWindow(); MainWindow.Shown += new EventHandler(MainWindow_Shown); LayersWindow = new LayersWindow(); ToolsWindow = new ToolsWindow(); TilePaletteWindow = new TilePaletteWindow(); EntitiesWindow = new EntitiesWindow(); EntitySelectionWindow = new EntitySelectionWindow(); LayersWindow.Show(MainWindow); ToolsWindow.Show(MainWindow); TilePaletteWindow.Show(MainWindow); EntitiesWindow.Show(MainWindow); EntitySelectionWindow.Show(MainWindow); LayersWindow.EditorVisible = ToolsWindow.EditorVisible = TilePaletteWindow.EditorVisible = EntitiesWindow.EditorVisible = EntitySelectionWindow.EditorVisible = false; //Add the exit event Application.ApplicationExit += onApplicationExit; }
private void LayersButton_Click(object sender, RoutedEventArgs e) { if (_layersWindow != null) { _layersWindow.Show(); return; } }
public static void Init() { if (HasOpenInstances<LayersWindow>()) return; LayersWindow window = CreateInstance<LayersWindow>(); window.titleContent = new GUIContent("Layers Editor"); window.Show(); }
private void LayersButton_Click(object sender, RoutedEventArgs e) { if (_layersWindow != null) { _layersWindow.Show(); return; } List <LayerItem> items = new List <LayerItem>(); foreach (var layer in _view.map.Layers) { LayerItem item = new LayerItem(); item.Name = layer.DisplayName; item.Visibility = layer.IsVisible; item.LayerObject = layer; items.Add(item); } _layersWindow = new LayersWindow(items); _layersWindow.Owner = App.Current.MainWindow; _layersWindow.Title = _view.eMap.MapID + ":Layers"; // Two ways to use delegate //_layersWindow.Closed += delegate { _layersWindow = null; }; //_layersWindow.Closed += delegate(object o, EventArgs args) { _layersWindow = null; }; // Use lamda function _layersWindow.Closed += (o, args) => { _layersWindow = null; }; _layersWindow.OnLayerCheckBoxClick += (o, args) => { Layer layer = args.Item.LayerObject as Layer; if (layer != null) { layer.IsVisible = !layer.IsVisible; } }; _layersWindow.Show(); }
private void LayersButton_Click(object sender, RoutedEventArgs e) { if (_layersWindow != null) { _layersWindow.Show(); return; } // _layersWindow = new LayersWindow(_view.PlanThemeDict,_view.map.Layers); _layersWindow.Title = _view.eMap.MapID + ":Layers"; _layersWindow.Closed += (o, args) => { _layersWindow = null; }; //_layersWindow.Show(); }
public override void DoWindowContents(Rect inRect) { Text.Font = GameFont.Small; WidgetRow row = new WidgetRow(0, 0, UIDirection.RightThenDown, 580); if (row.ButtonText(Translator.Translate("UpdateAllTiles"), Translator.Translate("UpdateAllTilesInfo"))) { WorldUpdater.UpdateMap(); } if (row.ButtonText(Translator.Translate("UpdateCustomLayer"), Translator.Translate("UpdateCustomLayerInfo"))) { layersWindow.Show(); } if (updateImmediately) { if (row.ButtonText(Translator.Translate("UpdateImmediatelyON"), Translator.Translate("UpdateImmediatelyInfo"))) { updateImmediately = false; } } else { if (row.ButtonText(Translator.Translate("UpdateImmediatelyOFF"), Translator.Translate("UpdateImmediatelyInfo"))) { updateImmediately = true; } } if (row.ButtonText(Translator.Translate("Utilities"))) { Find.WindowStack.Add(new UtilsMenu()); } if (row.ButtonText(Translator.Translate("SaveWorldTemplate"))) { Find.WindowStack.Add(new WorldTemplateManager()); } int size = 900; Rect mainScrollRect = new Rect(0, 25, 600, 600); Rect mainScrollVertRect = new Rect(0, 0, mainScrollRect.x, size); Widgets.BeginScrollView(mainScrollRect, ref mainScrollPosition, mainScrollVertRect); Rect group1 = new Rect(0, 20, inRect.width / 2, size); GUI.BeginGroup(group1); Widgets.Label(new Rect(0, 5, 50, 20), Translator.Translate("Biome")); int biomeDefSize = avaliableBiomes.Count * 25; float group1Height = inRect.height - 360; Rect scrollRect = new Rect(0, 25, 250, group1Height); Rect scrollVertRect = new Rect(0, 0, scrollRect.x, biomeDefSize); Widgets.BeginScrollView(scrollRect, ref scrollPosition, scrollVertRect); int yButtonPos = 5; Text.Font = GameFont.Small; if (Widgets.ButtonText(new Rect(0, yButtonPos, 230, 20), Translator.Translate("NoText"))) { selectedBiome = null; Messages.Message($"Biome: none", MessageTypeDefOf.NeutralEvent, false); } yButtonPos += 25; foreach (BiomeDef def in avaliableBiomes) { if (Widgets.ButtonText(new Rect(0, yButtonPos, 230, 20), def.label)) { selectedBiome = def; Messages.Message($"Biome: {selectedBiome.defName}", MessageTypeDefOf.NeutralEvent, false); } yButtonPos += 22; } Widgets.EndScrollView(); yButtonPos = 265; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("ClearAllHillnses"))) { ClearAllHillnes(); } yButtonPos = 290; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("SetTileToAllMap"))) { SetBiomeToAllTiles(); } yButtonPos = 315; if (Widgets.RadioButtonLabeled(new Rect(0, yButtonPos, 250, 20), Translator.Translate("SenOceanToo"), setOceanToo)) { setOceanToo = !setOceanToo; } yButtonPos = 340; foreach (Hilliness hillnes in Enum.GetValues(typeof(Hilliness))) { if (Widgets.RadioButtonLabeled(new Rect(0, yButtonPos, 250, 20), hillnes.ToString(), hillnes == selectedHillness)) { selectedHillness = hillnes; } yButtonPos += 20; } yButtonPos += 10; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("SetHillnesToAllMap"))) { SetHillnesToAllMap(); } yButtonPos += 30; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("SetHillnesToAllBiome"))) { SetHillnesToAllBiome(); } GUI.EndGroup(); float group2Width = 270; Rect group2 = new Rect(group2Width, 20, inRect.width / 2, inRect.height); GUI.BeginGroup(group2); yButtonPos = 25; if (Widgets.RadioButtonLabeled(new Rect(0, yButtonPos, 250, 20), $"{Translator.Translate("BrushEnable")} - {brushRadius.max}", brushEnabled)) { brushEnabled = !brushEnabled; } yButtonPos += 25; Widgets.IntRange(new Rect(0, yButtonPos, 250, 20), 3424354, ref brushRadius, 0, 3, Translator.Translate("BrushSettings")); yButtonPos += 50; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("TemperatureMenuTitle"))) { Find.WindowStack.Add(new TileParametersMenu(this)); } yButtonPos += 50; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("FactionEditor"))) { factionEditor.Show(); } Widgets.Label(new Rect(255, yButtonPos, 35, 20), $"{Settings.FactionHotKey}"); yButtonPos += 25; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("FactionDiagramm"))) { Find.WindowStack.Add(new Dialog_FactionDuringLanding()); } yButtonPos += 35; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("RoadAndRiverEditor"))) { Find.WindowStack.Add(new RoadAndRiversEditor()); } Widgets.Label(new Rect(255, yButtonPos, 35, 20), $"{Settings.RiversAndRoadsHotKey}"); yButtonPos += 35; if (Widgets.ButtonText(new Rect(0, yButtonPos, 250, 20), Translator.Translate("WorldFeaturesEditor"))) { worldObjectsEditor.Show(); } Widgets.Label(new Rect(255, yButtonPos, 35, 20), $"{Settings.WorldObjectHotKey}"); GUI.EndGroup(); Widgets.EndScrollView(); }