Пример #1
0
        public static void ReadGameRes()
        {
            TextAsset resEditor = AssetDatabase.LoadAssetAtPath <TextAsset>(PathConfig.resEditor);
            TextAsset resBundle = AssetDatabase.LoadAssetAtPath <TextAsset>(PathConfig.resBundle);

            if (resEditor == null || resBundle == null)
            {
                return;
            }
            List <GameResInfo>    editorItems = TableUtil.ReadContent <GameResInfo>(resEditor.text);
            List <GameBundleInfo> bundleItems = TableUtil.ReadContent <GameBundleInfo>(resBundle.text);
            SortedDictionary <string, GameResourceData> dict = null;


            for (int i = 0; i < bundleItems.Count; ++i)
            {
                GameResourceData item = new GameResourceData(bundleItems[i], editorItems[i]);
                if (GameResourceDict.ContainsKey(item.type))
                {
                    dict = GameResourceDict[item.type];
                }
                else
                {
                    dict = new SortedDictionary <string, GameResourceData>();
                    GameResourceDict[item.type] = dict;
                }

                if (dict.ContainsKey(item.name))
                {
                    continue;
                }
                dict[item.name] = item;
            }
        }
Пример #2
0
        public static void UpdateGameRes(GameResType type, string name, string abName, string resPath = "")
        {
            GameResourceData data = new GameResourceData();

            data.type            = type;
            data.name            = name;
            data.id              = int.Parse(type.ToString("d")) * 10000;
            data.resPath         = resPath;
            data.assetbundleName = abName;
            UpdateGameResWorker(data);
        }
Пример #3
0
        public void Update(GameResourceData newData)
        {
            if (!string.IsNullOrEmpty(newData.resPath))
            {
                this.resPath = newData.resPath;
            }

            if (!string.IsNullOrEmpty(newData.assetbundleName))
            {
                this.assetbundleName = newData.assetbundleName;
            }
        }
Пример #4
0
 static void UpdateAtlas(string atlasPath, string dirName, string abName)
 {
     UnityEngine.Object[] assets = AssetDatabase.LoadAllAssetsAtPath(atlasPath);
     for (int i = 0; i < assets.Length; ++i)
     {
         if (assets[i] is Sprite)
         {
             GameResourceData data = new GameResourceData();
             data.type            = GameResType.Sprite;
             data.name            = PathUtil.LastTrim(assets[i].name, '-');
             data.id              = int.Parse(GameResType.Sprite.ToString("d")) * 10000;
             data.assetbundleName = abName;
             UpdateGameResWorker(data);
         }
     }
 }
Пример #5
0
        static void UpdateSprite(string dir)
        {
            string[] files = Directory.GetFiles(dir, "*.png", SearchOption.AllDirectories);

            string spritePath;
            string spriteName;

            for (int i = 0; i < files.Length; ++i)
            {
                spritePath = PathUtil.GetAssetPath(files[i].ReplaceESC());
                spriteName = PathUtil.GetFileNameWithoutExtension(spritePath);
                GameResourceData data = new GameResourceData();
                data.resPath = spritePath;
                data.type    = GameResType.Sprite;
                data.name    = spriteName;
                data.id      = int.Parse(GameResType.Sprite.ToString("d")) * 10000;
                UpdateGameResWorker(data);
            }
        }
Пример #6
0
        public static void UpdateGameResWorker(GameResourceData data)
        {
            SortedDictionary <string, GameResourceData> dict;

            if (!GameResGenerator.GameResourceDict.TryGetValue(data.type, out dict))
            {
                dict = new SortedDictionary <string, GameResourceData>();
                GameResGenerator.GameResourceDict[data.type] = dict;
            }
            GameResourceData oldData;

            if (dict.TryGetValue(data.name, out oldData))
            {
                oldData.Update(data);
            }
            else
            {
                dict.Add(data.name, data);
            }
        }