protected virtual void Awake() { m_projectTreeView = GetComponent <ProjectTreeView>(); m_showRootFolder = m_projectTreeView.ShowRootFolder; m_folderIcon = m_projectTreeView.FolderIcon; m_editor = IOC.Resolve <IRuntimeEditor>(); if (Editor == null) { Debug.LogError("Editor is null"); return; } m_project = IOC.Resolve <IProject>(); m_wm = IOC.Resolve <IWindowManager>(); m_localization = IOC.Resolve <ILocalization>(); m_treeView = Instantiate(m_projectTreeView.TreeViewPrefab, transform).GetComponent <VirtualizingTreeView>(); m_treeView.name = "ProjectTreeView"; m_treeView.CanReorder = false; m_treeView.CanReparent = ShowRootFolder; m_treeView.CanUnselectAll = false; m_treeView.CanDrag = ShowRootFolder; m_treeView.CanRemove = false; m_treeView.CanSelectAll = false; m_treeView.SelectionChanged += OnSelectionChanged; m_treeView.ItemDataBinding += OnItemDataBinding; m_treeView.ItemExpanding += OnItemExpanding; m_treeView.ItemsRemoving += OnItemsRemoving; m_treeView.ItemsRemoved += OnItemsRemoved; m_treeView.ItemBeginEdit += OnItemBeginEdit; m_treeView.ItemEndEdit += OnItemEndEdit; m_treeView.ItemBeginDrag += OnItemBeginDrag; m_treeView.ItemBeginDrop += OnItemBeginDrop; m_treeView.ItemDragEnter += OnItemDragEnter; m_treeView.ItemDrag += OnItemDrag; m_treeView.ItemDragExit += OnItemDragExit; m_treeView.ItemDrop += OnItemDrop; m_treeView.ItemEndDrag += OnItemEndDrag; m_treeView.ItemDoubleClick += OnItemDoubleClick; m_treeView.ItemClick += OnItemClick; m_projectTreeView.DragEnterEvent += OnDragEnter; m_projectTreeView.DragLeaveEvent += OnDragLeave; m_projectTreeView.DragEvent += OnDrag; m_projectTreeView.DropEvent += OnDrop; IOC.RegisterFallback <IProjectTree>(this); }