static void DoTask(bool isWin)
        {
            var list = Selection.gameObjects;

            if (list.Length < 1)
            {
                return;
            }
            GameObject go           = Selection.gameObjects[0];
            var        travelHelper = new GameObjectTravelHelper(go.transform, isWin);
            Dictionary <string, List <TransformInfo> > tree = travelHelper.GetTree();
            string rootName;

            if (isWin)
            {
                rootName = "window_";
            }
            else
            {
                rootName = "go";
            }
            LuaWriter luaWriter = new LuaWriter(tree, ComponentNameHelper.generateNameFromGameObjectName(go.transform), rootName, isWin);

            luaWriter.Write();
        }
        public static string rebuildNameForGameObject(string name, Dictionary <string, bool> map, List <string> names)
        {
            string resName = name;
            int    index   = names.Count;

            for (int i = index - 1; i >= 0; i--)
            {
                if (map.ContainsKey(resName))
                {
                    resName = ComponentNameHelper.generateNameFromGameObjectName(names[i]) + resName;
                }
                else
                {
                    break;
                }
            }
            return(resName);
        }
        public static string generateNameFromGameObjectName(Transform t)
        {
            var curName = t.gameObject.name;

            return(ComponentNameHelper.generateNameFromGameObjectName(curName));
        }