public void RecursiveExecute(PanelTreeInterface node, UIFadeIteratorFunc nodeFunc, UIFadeIteratorFunc finishFunc)
 {
     nodeFunc(node);
     if (node.IsLeaf())
     {
         finishFunc(node);
     }
     else
     {
         foreach (PanelTreeInterface child in node.childrenDictionary.Values)
         {
             RecursiveExecute(child, nodeFunc, finishFunc);
         }
     }
 }
 public void RecursiveExecute(PanelTreeInterface node, UIFadeIteratorFunc func)
 {
     RecursiveExecute(node, func, func);
 }