Exemplo n.º 1
0
        private void ButtonSave_Click(object sender, EventArgs e)
        {
            loadedView.Children.Clear();

            if (optionButtonSurface.IsSelected)
            {
                basicSurface.Save("basicsurface.surface");
                loadedView.Children.Add(SadConsole.Console.Load("basicsurface.surface"));
            }
            else if (optionButtonView.IsSelected)
            {
                viewSurface.Save("viewsurface.view");
                var loaded = Console.Load("viewsurface.view");
                loaded.SetSurface(basicSurface, new Rectangle(5, 2, 34 - 10, 15 - 4));
                basicSurface.IsDirty = true;
                viewSurface.IsDirty  = true;
                loadedView.Children.Add(loaded);
                loaded.Fill(new Rectangle(1, 1, loaded.Width - 2, 3), Color.White, Color.DarkBlue, 0, SpriteEffects.None);
                loaded.Print(2, 2, "Loaded view");
                //loadedView.Children.Add(SadConsole.Surfaces.Basic.Load("viewsurface.view", basicSurface);
            }
            else if (optionButtonLayered.IsSelected)
            {
                layeredSurface.Save("layeredObject.layered");
                var layers = LayeredConsole.Load("layeredObject.layered");
                loadedView.Children.Add(layers);
            }
            else if (optionButtonAnimated.IsSelected)
            {
                animatedSurface.Save("animatedsurface.animation");
                var animation = AnimatedConsole.Load("animatedsurface.animation");
                animation.Start();
                loadedView.Children.Add(animation);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Converts this REXPaint image to a <see cref="LayeredConsole"/>.
        /// </summary>
        /// <returns></returns>
        public LayeredConsole ToLayeredConsole()
        {
            var console = new LayeredConsole(Width, Height, LayerCount);

            for (var i = 0; i < LayerCount; i++)
            {
                var layer = console.GetLayer(i);

                for (var y = 0; y < Height; y++)
                {
                    for (var x = 0; x < Width; x++)
                    {
                        var rexCell = _layers[i][x, y];
                        if (rexCell.IsTransparent())
                        {
                            continue;
                        }
                        var newCell = layer[x, y];
                        newCell.Foreground = new FrameworkColor(rexCell.Foreground.R, rexCell.Foreground.G, rexCell.Foreground.B, (byte)255);
                        newCell.Background = new FrameworkColor(rexCell.Background.R, rexCell.Background.G, rexCell.Background.B, (byte)255);
                        newCell.Glyph      = rexCell.Character;
                    }
                }

                layer.IsDirty = true;
            }

            console.IsDirty = true;
            return(console);
        }
Exemplo n.º 3
0
        public void Reset()
        {
            ControlPanels = new CustomPanel[] { EditorConsoleManager.Instance.ToolPane.FilesPanel, EditorConsoleManager.Instance.ToolPane.LayersPanel, EditorConsoleManager.Instance.ToolPane.ToolsPanel };

            if (_consoleLayers != null)
            {
                _consoleLayers.MouseMove  -= _mouseMoveHandler;
                _consoleLayers.MouseEnter -= _mouseEnterHandler;
                _consoleLayers.MouseExit  -= _mouseExitHandler;
            }

            _objectsSurface      = new SadConsole.Consoles.Console(25, 10);
            _objectsSurface.Font = SadConsoleEditor.Settings.Config.ScreenFont;
            _objectsSurface.Data.DefaultForeground = Color.White;
            _objectsSurface.Data.DefaultBackground = Color.Transparent;
            _objectsSurface.Data.Clear();
            _objectsSurface.BeforeRenderHandler = (cr) => cr.Batch.Draw(SadConsole.Engine.BackgroundCell, cr.RenderBox, null, new Color(0, 0, 0, 0.5f));

            _consoleLayers                                  = new LayeredConsole(1, 25, 10);
            _consoleLayers.Font                             = SadConsoleEditor.Settings.Config.ScreenFont;
            _consoleLayers.CanUseMouse                      = true;
            _consoleLayers.CanUseKeyboard                   = true;
            _consoleLayers.GetLayerMetadata(0).Name         = "Root";
            _consoleLayers.GetLayerMetadata(0).IsRemoveable = false;
            _consoleLayers.GetLayerMetadata(0).IsMoveable   = false;

            _width  = 25;
            _height = 10;

            SelectedGameObjects = new GameObjectCollection();
            GameObjects         = new List <GameObjectCollection>();
            GameObjects.Add(SelectedGameObjects);

            _mouseMoveHandler = (o, e) => { if (this.MouseMove != null)
                                            {
                                                this.MouseMove(_consoleLayers.ActiveLayer, e);
                                            }
                                            EditorConsoleManager.Instance.ToolPane.SelectedTool.MouseMoveSurface(e.OriginalMouseInfo, _consoleLayers.ActiveLayer); };
            _mouseEnterHandler = (o, e) => { if (this.MouseEnter != null)
                                             {
                                                 this.MouseEnter(_consoleLayers.ActiveLayer, e);
                                             }
                                             EditorConsoleManager.Instance.ToolPane.SelectedTool.MouseEnterSurface(e.OriginalMouseInfo, _consoleLayers.ActiveLayer); };
            _mouseExitHandler = (o, e) => { if (this.MouseExit != null)
                                            {
                                                this.MouseExit(_consoleLayers.ActiveLayer, e);
                                            }
                                            EditorConsoleManager.Instance.ToolPane.SelectedTool.MouseExitSurface(e.OriginalMouseInfo, _consoleLayers.ActiveLayer); };

            _consoleLayers.MouseMove  += _mouseMoveHandler;
            _consoleLayers.MouseEnter += _mouseEnterHandler;
            _consoleLayers.MouseExit  += _mouseExitHandler;
        }
Exemplo n.º 4
0
        public void Reset()
        {
            ControlPanels = new CustomPanel[] { EditorConsoleManager.Instance.ToolPane.FilesPanel, EditorConsoleManager.Instance.ToolPane.LayersPanel, EditorConsoleManager.Instance.ToolPane.ToolsPanel };

            if (_consoleLayers != null)
            {
                _consoleLayers.MouseMove -= _mouseMoveHandler;
                _consoleLayers.MouseEnter -= _mouseEnterHandler;
                _consoleLayers.MouseExit -= _mouseExitHandler;
            }

            _objectsSurface = new SadConsole.Consoles.Console(25, 10);
            _objectsSurface.Font = SadConsoleEditor.Settings.Config.ScreenFont;
            _objectsSurface.Data.DefaultForeground = Color.White;
            _objectsSurface.Data.DefaultBackground = Color.Transparent;
            _objectsSurface.Data.Clear();
            _objectsSurface.BeforeRenderHandler = (cr) => cr.Batch.Draw(SadConsole.Engine.BackgroundCell, cr.RenderBox, null, new Color(0, 0, 0, 0.5f));

            _consoleLayers = new LayeredConsole(1, 25, 10);
            _consoleLayers.Font = SadConsoleEditor.Settings.Config.ScreenFont;
            _consoleLayers.CanUseMouse = true;
            _consoleLayers.CanUseKeyboard = true;
            _consoleLayers.GetLayerMetadata(0).Name = "Root";
            _consoleLayers.GetLayerMetadata(0).IsRemoveable = false;
            _consoleLayers.GetLayerMetadata(0).IsMoveable = false;

            _width = 25;
            _height = 10;

            SelectedGameObjects = new GameObjectCollection();
            GameObjects = new List<GameObjectCollection>();
            GameObjects.Add(SelectedGameObjects);

            _mouseMoveHandler = (o, e) => { if (this.MouseMove != null) this.MouseMove(_consoleLayers.ActiveLayer, e); EditorConsoleManager.Instance.ToolPane.SelectedTool.MouseMoveSurface(e.OriginalMouseInfo, _consoleLayers.ActiveLayer); };
            _mouseEnterHandler = (o, e) => { if (this.MouseEnter != null) this.MouseEnter(_consoleLayers.ActiveLayer, e); EditorConsoleManager.Instance.ToolPane.SelectedTool.MouseEnterSurface(e.OriginalMouseInfo, _consoleLayers.ActiveLayer); };
            _mouseExitHandler = (o, e) => { if (this.MouseExit != null) this.MouseExit(_consoleLayers.ActiveLayer, e); EditorConsoleManager.Instance.ToolPane.SelectedTool.MouseExitSurface(e.OriginalMouseInfo, _consoleLayers.ActiveLayer); };

            _consoleLayers.MouseMove += _mouseMoveHandler;
            _consoleLayers.MouseEnter += _mouseEnterHandler;
            _consoleLayers.MouseExit += _mouseExitHandler;
        }
Exemplo n.º 5
0
        public void Load(string file)
        {
            if (System.IO.File.Exists(file))
            {
                if (_consoleLayers != null)
                {
                    _consoleLayers.MouseMove -= _mouseMoveHandler;
                    _consoleLayers.MouseEnter -= _mouseEnterHandler;
                    _consoleLayers.MouseExit -= _mouseExitHandler;
                }

                var tempConsole = SadConsole.Serializer.Load<GameConsole>(file);
                _consoleLayers = new LayeredConsole(tempConsole.Layers, tempConsole.Width, tempConsole.Height);
                _consoleLayers.Font = SadConsoleEditor.Settings.Config.ScreenFont;
                for (int i = 0; i < tempConsole.Layers; i++)
                    _consoleLayers.RemoveLayer(0);

                GameObjects = new List<GameObjectCollection>(tempConsole.Layers);

                for (int i = 0; i < tempConsole.Layers; i++)
                {
                    _consoleLayers.AddLayer(tempConsole[i].CellData);
                    var metadataNew = new LayeredConsoleMetadata();
                    var metadataOld = tempConsole.GetLayerMetadata(i);

                    metadataNew.IsMoveable = metadataOld.IsMoveable;
                    metadataNew.IsRemoveable = metadataOld.IsRemoveable;
                    metadataNew.IsRenamable = metadataOld.IsRenamable;
                    metadataNew.IsVisible = metadataOld.IsVisible;
                    metadataNew.Name = metadataOld.Name;
                    metadataNew.Index = metadataOld.Index;
                    _consoleLayers.SetLayerMetadata(i, metadataNew);
                    GameObjects.Add(metadataOld.GameObjects);
                    _consoleLayers[i].IsVisible = metadataNew.IsVisible;
                }

                _consoleLayers.SetActiveLayer(0);
                _consoleLayers.CanUseMouse = true;
                _consoleLayers.CanUseKeyboard = true;
                _consoleLayers.MouseMove += _mouseMoveHandler;
                _consoleLayers.MouseEnter += _mouseEnterHandler;
                _consoleLayers.MouseExit += _mouseExitHandler;

                _width = _consoleLayers.Width;
                _height = _consoleLayers.Height;

                EditorConsoleManager.Instance.UpdateBox();

                SelectedGameObjects = GameObjects[0];
                SyncObjectsToLayer();

                //_consoleLayers = LayeredConsole.Load<LayeredConsole>(file);
                //_consoleLayers.Font = SadConsoleEditor.Settings.Config.ScreenFont;

                //_consoleLayers.MouseMove += _mouseMoveHandler;
                //_consoleLayers.MouseEnter += _mouseEnterHandler;
                //_consoleLayers.MouseExit += _mouseExitHandler;

                //_width = _consoleLayers.Width;
                //_height = _consoleLayers.Height;

                //EditorConsoleManager.Instance.UpdateBox();

                //if (System.IO.File.Exists(objectsFile))
                //{
                //    GameObjects = new List<GameObjectCollection>(GameObjectCollection.LoadCollection(objectsFile));
                //    SelectedGameObjects = GameObjects[0];
                //    SyncObjectsToLayer();
                //}
                //else
                //{
                //    GameObjects = new List<GameObjectCollection>();

                //    foreach (var layer in _consoleLayers.GetEnumeratorForLayers())
                //    {
                //        GameObjects.Add(new GameObjectCollection());
                //    }
                //    SelectedGameObjects = GameObjects[0];
                //    SyncObjectsToLayer();
                //}
            }
        }
Exemplo n.º 6
0
        public void Load(string file)
        {
            if (System.IO.File.Exists(file))
            {
                if (_consoleLayers != null)
                {
                    _consoleLayers.MouseMove  -= _mouseMoveHandler;
                    _consoleLayers.MouseEnter -= _mouseEnterHandler;
                    _consoleLayers.MouseExit  -= _mouseExitHandler;
                }


                var tempConsole = SadConsole.Serializer.Load <GameConsole>(file);
                _consoleLayers      = new LayeredConsole(tempConsole.Layers, tempConsole.Width, tempConsole.Height);
                _consoleLayers.Font = SadConsoleEditor.Settings.Config.ScreenFont;
                for (int i = 0; i < tempConsole.Layers; i++)
                {
                    _consoleLayers.RemoveLayer(0);
                }


                GameObjects = new List <GameObjectCollection>(tempConsole.Layers);

                for (int i = 0; i < tempConsole.Layers; i++)
                {
                    _consoleLayers.AddLayer(tempConsole[i].CellData);
                    var metadataNew = new LayeredConsoleMetadata();
                    var metadataOld = tempConsole.GetLayerMetadata(i);

                    metadataNew.IsMoveable   = metadataOld.IsMoveable;
                    metadataNew.IsRemoveable = metadataOld.IsRemoveable;
                    metadataNew.IsRenamable  = metadataOld.IsRenamable;
                    metadataNew.IsVisible    = metadataOld.IsVisible;
                    metadataNew.Name         = metadataOld.Name;
                    metadataNew.Index        = metadataOld.Index;
                    _consoleLayers.SetLayerMetadata(i, metadataNew);
                    GameObjects.Add(metadataOld.GameObjects);
                    _consoleLayers[i].IsVisible = metadataNew.IsVisible;
                }

                _consoleLayers.SetActiveLayer(0);
                _consoleLayers.CanUseMouse    = true;
                _consoleLayers.CanUseKeyboard = true;
                _consoleLayers.MouseMove     += _mouseMoveHandler;
                _consoleLayers.MouseEnter    += _mouseEnterHandler;
                _consoleLayers.MouseExit     += _mouseExitHandler;

                _width  = _consoleLayers.Width;
                _height = _consoleLayers.Height;

                EditorConsoleManager.Instance.UpdateBox();

                SelectedGameObjects = GameObjects[0];
                SyncObjectsToLayer();



                //_consoleLayers = LayeredConsole.Load<LayeredConsole>(file);
                //_consoleLayers.Font = SadConsoleEditor.Settings.Config.ScreenFont;

                //_consoleLayers.MouseMove += _mouseMoveHandler;
                //_consoleLayers.MouseEnter += _mouseEnterHandler;
                //_consoleLayers.MouseExit += _mouseExitHandler;

                //_width = _consoleLayers.Width;
                //_height = _consoleLayers.Height;

                //EditorConsoleManager.Instance.UpdateBox();

                //if (System.IO.File.Exists(objectsFile))
                //{
                //    GameObjects = new List<GameObjectCollection>(GameObjectCollection.LoadCollection(objectsFile));
                //    SelectedGameObjects = GameObjects[0];
                //    SyncObjectsToLayer();
                //}
                //else
                //{
                //    GameObjects = new List<GameObjectCollection>();

                //    foreach (var layer in _consoleLayers.GetEnumeratorForLayers())
                //    {
                //        GameObjects.Add(new GameObjectCollection());
                //    }
                //    SelectedGameObjects = GameObjects[0];
                //    SyncObjectsToLayer();
                //}
            }
        }