public void saveScenario()
        {
            if (improvedModel.GetScenario() != null)
            {
                Stream         saveStream;
                SaveFileDialog saveMapDialog = new SaveFileDialog();
                saveMapDialog.InitialDirectory = Application.StartupPath + "\\Maps\\";
                saveMapDialog.Filter           = "Map files (*.map)| *.map";

                if (saveMapDialog.ShowDialog() == DialogResult.OK)
                {
                    if ((saveStream = saveMapDialog.OpenFile()) != null)
                    {
                        BinaryFormatter bin = new BinaryFormatter();

                        ScenarioComponent scenario = improvedModel.GetScenario();
                        scenario.SetContainer(null);
                        bin.Serialize(saveStream, scenario);
                        saveStream.Close();
                        improvedModel.AddChild(scenario);
                        // TODO: Change so that the SaveInfo model is updated.
                    }
                }
            }
        }
示例#2
0
 public void Visit(ImprovedMapEditorModel model)
 {
     if (model.GetScenario() != context)
     {
         SetScenario(model.GetScenario());
     }
 }
        public MapEditorView()
        {
            InitializeComponent();
            MapEditorModelOld      model     = new MapEditorModelOld();
            ImprovedMapEditorModel goodModel = new ImprovedMapEditorModel();

            this.controller = new MapEditorController(goodModel);
            // TODO Add all other views
            tilePalette.loadImageList();
            tilePalette.setController(controller);
            scenarioView1.setController(controller);
            model.register(tilePalette);
            model.register(scenarioView1);

            // TODO Remove this code, testing purposes only
            this.controller.createNewScenario();
            scenarioView1.SetScenario(goodModel.GetScenario());
            goodModel.RegisterObserver(scenarioView1);
            goodModel.GetScenario().GetGameWorld().NotifyAll();
        }