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; } }
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); }
public void Update(GameResourceData newData) { if (!string.IsNullOrEmpty(newData.resPath)) { this.resPath = newData.resPath; } if (!string.IsNullOrEmpty(newData.assetbundleName)) { this.assetbundleName = newData.assetbundleName; } }
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); } } }
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); } }
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); } }