public void Load(string file, FileLoaders.IFileLoader loader) { ClearEntities(); ClearZones(); ClearHotspots(); if (loader is FileLoaders.Scene) { var scene = (SadConsole.GameHelpers.Scene)loader.Load(file); surface = (LayeredSurface)scene.Surface.TextSurface; int renderWidth = Math.Min(MainScreen.Instance.InnerEmptyBounds.Width, surface.Width); int renderHeight = Math.Min(MainScreen.Instance.InnerEmptyBounds.Height, surface.Height); surface.RenderArea = new Rectangle(0, 0, renderWidth, renderHeight); hotspotSurface = new BasicSurface(renderWidth, renderHeight, Settings.Config.ScreenFont); foreach (var item in scene.Objects) { LoadEntity(item); } foreach (var zone in scene.Zones) { LoadZone(zone); } foreach (var spot in scene.Hotspots) { LoadHotspot(spot); } } surface.Font = Settings.Config.ScreenFont; Title = Path.GetFileName(file); }
private void LoadEditor(string file, FileLoaders.IFileLoader loader) { Editors.IEditor editor = null; if (loader is FileLoaders.LayeredSurface || loader is FileLoaders.BasicSurface) { editor = new Editors.LayeredConsoleEditor(); AddEditor(editor, false); editor.Load(file, loader); } else if (loader is FileLoaders.GameObject) { editor = new Editors.GameObjectEditor(); AddEditor(editor, false); editor.Load(file, loader); } else if (loader is FileLoaders.Scene) { editor = new Editors.SceneEditor(); AddEditor(editor, false); editor.Load(file, loader); } if (editor != null) { //editor.RenderedConsole.TextSurface.RenderArea = new Rectangle(0, 0, InnerEmptyBounds.Width, InnerEmptyBounds.Height); ChangeActiveEditor(editor); } topBarPane.IsVisible = true; ToolsPane.IsVisible = true; }
public void Load(string file, FileLoaders.IFileLoader loader) { if (loader is FileLoaders.GameObject) { SetEntity((GameObject)((FileLoaders.GameObject)loader).Load(file)); Title = System.IO.Path.GetFileName(file); } }