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(); }
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(); } } }