private void MainEditorOnSelectedEntityChanged(WindWakerEntityData.BaseChunk baseChunk) { _curChunk = baseChunk as WindWakerEntityData.LghtChunk; UpdateEditorUiFromFile(); }
private void ProjectTreeview_AfterSelect(object sender, TreeViewEventArgs e) { if (!(e.Node.Tag is WindWakerEntityData)) return; if (SelectedEntityFileChanged != null) { var entData = (WindWakerEntityData)e.Node.Tag; _selectedEntityFile = entData; UpdateLayersView(); //Updates the Entity view for us. SelectedEntityFileChanged(entData); //Broadcast event. } }
public void UnloadLoadedWorldspaceProject() { _loadedWorldspaceProject = null; _selectedEntityFile = null; _selectedEntityLayer = EditorHelpers.EntityLayer.DefaultLayer; //_renderer.OnSceneUnload(); UpdateProjectFolderTreeview(); UpdateEntityTreeview(); UpdateLayersView(); }
private void UpdateProjectFolderTreeview() { ProjectTreeview.BeginUpdate(); ProjectTreeview.SuspendLayout(); ProjectTreeview.Nodes.Clear(); //Early out if the worldspace project is null (ie: We just unloaded the project) if (_loadedWorldspaceProject == null) { ProjectTreeview.EndUpdate(); ProjectTreeview.ResumeLayout(); return; } foreach (ZArchive archive in _loadedWorldspaceProject.GetAllArchives()) { TreeNode arcRoot = ProjectTreeview.Nodes.Add(archive.Name, archive.Name); foreach (BaseArchiveFile archiveFile in archive.GetAllFiles()) { //Multiple files can share the same folder, so either find a node with the existing folder name or make a new one if it doesn't exist yet. TreeNode folderNode = !arcRoot.Nodes.ContainsKey(archiveFile.FolderName) ? arcRoot.Nodes.Add(archiveFile.FolderName, archiveFile.FolderName) : arcRoot.Nodes.Find(archiveFile.FolderName, false)[0]; TreeNode fileName = folderNode.Nodes.Add(archiveFile.FileName); fileName.Tag = archiveFile; //Store a reference to the archive file so we can get it later. if (archiveFile is WindWakerEntityData && _selectedEntityFile == null) { _selectedEntityFile = (WindWakerEntityData)archiveFile; UpdateLayersView(); //Updates the Entityview for us. if (SelectedEntityFileChanged != null) SelectedEntityFileChanged((WindWakerEntityData)archiveFile); } } } ProjectTreeview.ResumeLayout(); ProjectTreeview.EndUpdate(); }