Beispiel #1
0
        // Initializes for a new map
        internal bool InitializeNewMap(MapOptions options)
        {
            // Apply settings
            this.filename     = "unnamed.map";
            this.filepathname = string.Empty;
            this.filepath     = string.Empty;
            this.changed      = false;
            this.options      = options;

            General.WriteLogLine("Creating new map with configuration \"" + options.ConfigFile + "\"");

            // Initiate graphics
            General.WriteLogLine("Initializing graphics device...");
            graphics = new D3DDevice(General.MainWindow.Display);
            if (!graphics.Initialize())
            {
                return(false);
            }

            // Create renderers
            renderer2d = new Renderer2D(graphics);
            renderer3d = new Renderer3D(graphics);

            // Load game configuration
            General.WriteLogLine("Loading game configuration...");
            configinfo = General.GetConfigurationInfo(options.ConfigFile);
            config     = new GameConfiguration(General.LoadGameConfiguration(options.ConfigFile));
            configinfo.ApplyDefaults(config);
            General.Editing.UpdateCurrentEditModes();

            // Create map data
            map = new MapSet();

            // Initialize map format interface
            General.WriteLogLine("Initializing map format interface " + config.FormatInterface + "...");
            io = MapSetIO.Create(config.FormatInterface, this);

            // Load data manager
            General.WriteLogLine("Loading data resources...");
            data = new DataManager();
            data.Load(CreateResourcesList());

            // Update structures
            options.ApplyGridSettings();
            map.UpdateConfiguration();
            map.Update();
            thingsfilter.Update();

            // Bind any methods
            General.Actions.BindMethods(this);

            // Set defaults
            this.visualcamera = new VisualCamera();
            General.Editing.ChangeMode(configinfo.StartMode);
            ClassicMode cmode = (General.Editing.Mode as ClassicMode);

            if (cmode != null)
            {
                cmode.SetZoom(Rendering.Renderer2D.DEFAULT_ZOOM);
            }
            renderer2d.SetViewMode((ViewMode)General.Settings.DefaultViewMode);

            // Success
            this.changed = false;
            General.WriteLogLine("Map creation done");
            General.MainWindow.UpdateTitle();             //mxd
            return(true);
        }