Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 private void LayersButton_Click(object sender, RoutedEventArgs e)
 {
     if (_layersWindow != null)
     {
         _layersWindow.Show();
         return;
     }
 }
Ejemplo n.º 3
0
 public static void Init()
 {
     if (HasOpenInstances<LayersWindow>())
         return;
     LayersWindow window = CreateInstance<LayersWindow>();
     window.titleContent = new GUIContent("Layers Editor");
     window.Show();
 }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        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();
        }