public static string GetTempAssetPath(string path)
        {
            string tempAssetPath = path.Replace(RESOURCES, RESOURCES_TEMP);
            string folderPath    = Path.GetDirectoryName(AssetPathHelper.ToFileSystemPath(tempAssetPath));

            if (!Directory.Exists(folderPath))
            {
                Directory.CreateDirectory(folderPath);
            }
            return(tempAssetPath);
        }
        public static void Initialize()
        {
            Dictionary <BuildTarget, string> buildTargetIdentifierDict = GetBuildTargetIndentifierDict();

            _assetStrategyDict  = new Dictionary <string, AssetBuildStrategy>();
            _defineStrategyDict = new Dictionary <string, AssetBuildStrategy>();
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.PreserveWhitespace = false;
            xmlDoc.Load(AssetPathHelper.ToFileSystemPath(SETTING_PATH));
            XmlNode root = xmlDoc.SelectSingleNode("root");

            outputPath = root.Attributes["output"].Value + buildTargetIdentifierDict[AssetPathHelper.GetBuildTarget()] + "/";
            CreateOutputFolder(outputPath);
            isSaveTemp      = root.Attributes["saveTempFile"].Value.ToLower() == "true";
            isBuild         = root.Attributes["build"].Value.ToLower() == "true";
            isReport        = root.Attributes["report"].Value.ToLower() == "true";
            isSaveUIMediate = root.Attributes["saveUIMediate"].Value.ToLower() == "true";

            foreach (XmlNode node in root.ChildNodes)
            {
                if (!(node is XmlElement))
                {
                    continue;
                }
                AssetBuildStrategy strategy = new AssetBuildStrategy(node);
                if (string.IsNullOrEmpty(strategy.name) == true)
                {
                    throw new Exception("Build strategy name not set " + node.InnerText);
                }
                if (_defineStrategyDict.Keys.Contains(strategy.name))
                {
                    throw new Exception("Duplicated strategy name:" + strategy.name);
                }
                _defineStrategyDict.Add(strategy.name, strategy);
            }
        }