void AddChildrenRecursive(AkWwiseTreeViewItem parent, IList <AkWwiseTreeViewItem> newRows) { if (parent == null) { return; } foreach (AkWwiseTreeViewItem child in parent.children) { var item = new AkWwiseTreeViewItem(child); item.parent = parent; item.children = child.children; newRows.Add(item); if (child.children.Count > 0) { if (TestExpanded(child)) { AddChildrenRecursive(child, newRows); } else { item.children = AkWwiseTreeDataSource.CreateCollapsedChild(); } } } }
public AkWwiseTreeView(TreeViewState treeViewState, MultiColumnHeader multiColumnHeader, AkWwiseTreeDataSource data) : base(treeViewState, multiColumnHeader) { m_pickerMode = PickerMode.FullPicker; Initialize(data); Reload(); }
public AkWwiseTreeView(TreeViewState treeViewState, AkWwiseTreeDataSource data, WwiseObjectType componentType) : base(treeViewState) { m_pickerMode = PickerMode.ComponentPicker; componentObjectType = componentType; Initialize(data); data.LoadComponentData(componentObjectType); Reload(); }
public void SetDataSource(AkWwiseTreeDataSource datasource) { if (m_dataSource != null) { m_dataSource.modelChanged -= this.ModelChanged; m_dataSource.TreeView = null; } m_dataSource = datasource; m_dataSource.modelChanged += this.ModelChanged; m_dataSource.TreeView = this; m_dataSource.FetchData(); }
private void Initialize(AkWwiseTreeDataSource data) { m_dataSource = data; m_dataSource.TreeView = this; m_dataSource.modelChanged += ModelChanged; this.LoadExpansionStatus(); icons = new AkWwisePickerIcons(); icons.LoadIcons(); DragDropEnabled = true; extraSpaceBeforeIconAndLabel = AkWwisePickerIcons.kIconWidth; StoredSearchString = ""; if (DragDropMonoScriptMap == null) { DragDropMonoScriptMap = new Dictionary <WwiseObjectType, UnityEditor.MonoScript>(); var scripts = UnityEngine.Resources.FindObjectsOfTypeAll <UnityEditor.MonoScript>(); foreach (var script in scripts) { WwiseObjectType wwiseObjectType; var type = script.GetClass(); if (type != null && ScriptTypeMap.TryGetValue(type, out wwiseObjectType)) { DragDropMonoScriptMap[wwiseObjectType] = script; } } } UnityEditor.EditorApplication.playModeStateChanged += (UnityEditor.PlayModeStateChange playMode) => { if (playMode == UnityEditor.PlayModeStateChange.ExitingEditMode) { SaveExpansionStatus(); } }; UnityEditor.EditorApplication.quitting += SaveExpansionStatus; }