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); } }
/// <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); }
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; }
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; }
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(); //} } }
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(); //} } }