Beispiel #1
0
        public void New()
        {
            SelectLevel(Guid.Empty);

            Project project = EmptyProject();

            Program.CurrentProject = project;

            NewLevel form = new NewLevel(project);

            if (form.ShowDialog() != DialogResult.OK)
            {
                return;
            }

            Project prevProject = _project;

            if (_project != null)
            {
                _project.Modified -= ProjectModifiedHandler;
            }

            _project           = project;
            _project.Modified += ProjectModifiedHandler;

            OnSyncCurrentProject(new SyncProjectEventArgs(prevProject));

            _project.ObjectPoolManager.Pools.Add(new ObjectPool("Default"));

            PropertyListPresenter propList = _presentation.PropertyList as PropertyListPresenter;

            foreach (Level level in _project.Levels)
            {
                _content.OpenContent(level.Uid);

                if (_currentLevel == Guid.Empty)
                {
                    SelectLevel(level.Uid);
                    propList.Provider = level; // Initial Property Provider
                }
            }

            ContentInfoArbitrationPresenter info = _presentation.ContentInfo as ContentInfoArbitrationPresenter;

            info.BindInfoPresenter(CurrentLevel.InfoPresenter);

            Modified = false;
            Project.ResetModified();



            RefreshEditor();
        }
Beispiel #2
0
        private void CommandAddLevel()
        {
            if (CommandCanAddLevel())
            {
                NewLevel form = new NewLevel(_project);
                if (form.ShowDialog() == DialogResult.OK)
                {
                    SelectLevel(form.Level.Uid);
                    Presentation.PropertyList.Provider = form.Level;

                    Modified = true;
                    RefreshEditor();
                }
            }
        }