private void CommandAddLevel() { if (CommandCanAddLevel()) { NewLevel form = new NewLevel(_project); if (form.ShowDialog() == DialogResult.OK) { LevelPresenter pres = new LevelPresenter(this, form.Level); _levels[form.Level.Uid] = pres; _openContent.Add(form.Level.Uid); SelectLevel(form.Level.Uid); Presentation.PropertyList.Provider = form.Level; Modified = true; RefreshEditor(); } } }
public void New() { SelectLevel(Guid.Empty); Project project = EmptyProject(); 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; //_project.Levels.ResourceRemapped += LevelNameChangedHandler; _project.ObjectPoolManager.Pools.Add(new ObjectPool("Default")); _openContent = new List<Guid>(); _levels = new Dictionary<Guid, LevelPresenter>(); PropertyListPresenter propList = _presentation.PropertyList as PropertyListPresenter; foreach (Level level in _project.Levels) { LevelPresenter pres = new LevelPresenter(this, level); _levels[level.Uid] = pres; _openContent.Add(level.Uid); if (_currentLevel == Guid.Empty) { SelectLevel(level.Uid); propList.Provider = level; // Initial Property Provider } } //_project.ObjectPoolManager.CreatePool("Default"); ContentInfoArbitrationPresenter info = _presentation.ContentInfo as ContentInfoArbitrationPresenter; info.BindInfoPresenter(CurrentLevel.InfoPresenter); Modified = false; Project.ResetModified(); OnSyncCurrentProject(new SyncProjectEventArgs(prevProject)); RefreshEditor(); if (CurrentLevel != null) { //CurrentLevel.RefreshLayerList(); } }