public Load ( string file, FileLoaders loader ) : void | ||
file | string | |
loader | FileLoaders | |
return | void |
public void Load(string file, FileLoaders.IFileLoader loader)
{
ClearEntities();
ClearZones();
ClearHotspots();
if (loader is FileLoaders.Scene)
{
var scene = (SadConsole.Game.Scene)loader.Load(file);
textSurface = scene.BackgroundSurface;
consoleWrapper.TextSurface = textSurface;
foreach (var item in scene.Objects)
LoadEntity(item);
foreach (var zone in scene.Zones)
LoadZone(zone);
foreach (var spot in scene.Hotspots)
LoadHotspot(spot);
if (EditorConsoleManager.ActiveEditor == this)
EditorConsoleManager.UpdateBorder(consoleWrapper.Position);
}
textSurface.Font = Settings.Config.ScreenFont;
Title = Path.GetFileName(file);
// Update the layer management panel
layerManagementPanel.SetLayeredTextSurface(textSurface);
}
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; }