Example #1
0
    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();
                }
            }
        }
    }
Example #2
0
 public AkWwiseTreeView(TreeViewState treeViewState,
                        MultiColumnHeader multiColumnHeader, AkWwiseTreeDataSource data)
     : base(treeViewState, multiColumnHeader)
 {
     m_pickerMode = PickerMode.FullPicker;
     Initialize(data);
     Reload();
 }
Example #3
0
    public AkWwiseTreeView(TreeViewState treeViewState,
                           AkWwiseTreeDataSource data, WwiseObjectType componentType)
        : base(treeViewState)

    {
        m_pickerMode        = PickerMode.ComponentPicker;
        componentObjectType = componentType;
        Initialize(data);
        data.LoadComponentData(componentObjectType);
        Reload();
    }
Example #4
0
 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();
 }
Example #5
0
    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;
    }