public override void SetSelect(params string[] path)
 {
     ClearTree();
     OnHeadSelect(0);
     Tree.TreeNode node = rootNode;
     for (int i = 0; i < path.Length; i++)
     {
         if (node.childern != null)
         {
             var child = node.GetChildItem(path[i]);
             if (child != null)
             {
                 var index = node.childern.IndexOf(child);
                 creater.SetSelect(index, true);
             }
             else
             {
                 break;
             }
         }
         else
         {
             break;
         }
     }
 }
        /// <summary>
        /// 可选择项选中后,
        /// 判断是否需要继续选择,或者是触发事件
        /// </summary>
        /// <param name="key"></param>
        private void OnBodySelect(int key)
        {
            var child = active.GetChildItem(key);

            if (child != null && child.childern != null && child.childern.Count > 0)
            {
                //激活当前节点
                active = child;

                //更新选择列表
                ChargeBodyOption(active);

                //更新标头列表
                currentSelection.Add(active.name);
                ChargeHeadOption(currentSelection.ToArray());
            }
            else
            {
                Debug.Assert(active != null, "active :Null", gameObject);
                OnSelectionChanged(child.FullPath);
            }
        }