private void LoadGroup(AnimeGroupList.SEX sex, bool isAnim) { Dictionary <int, Info.GroupInfo> dictionary; string key; if (sex != null) { if (sex != AnimeGroupList.SEX.Female) { return; } dictionary = info.dicAGroupCategory; key = "FemaleAnimeGroup_"; } else { dictionary = info.dicAGroupCategory; key = "MaleAnimeGroup_"; } if (!isAnim) { dictionary = info.dicVoiceGroupCategory; key = "VoiceGroup_"; } Dictionary <string, List <string[]> > dictionary2 = dicAllFileArgs[key]; if (dictionary2 == null) { return; } foreach (string key2 in dictionary2.Keys) { foreach (string[] array in dictionary2[key2]) { if (int.TryParse(array[0], out int num)) { int key3 = num + groupOffset; if (dictionary.ContainsKey(key3)) { if (force) { dictionary[key3].name = groupSuffix + array[1]; } } else { dictionary.Add(key3, new Info.GroupInfo { name = groupSuffix + array[1], dicCategory = new Dictionary <int, string>() }); } } } } }
private void LoadCategory(AnimeGroupList.SEX sex, bool isAnim) { Dictionary <int, Info.GroupInfo> dictionary; string text; if (sex != null) { if (sex != AnimeGroupList.SEX.Female) { return; } dictionary = info.dicAGroupCategory; text = "FemaleAnimeCategory_"; } else { dictionary = info.dicAGroupCategory; text = "MaleAnimeCategory_"; } if (!isAnim) { dictionary = info.dicVoiceGroupCategory; text = "VoiceCategory_"; } Dictionary <string, List <string[]> > dictionary2 = dicAllFileArgs[text]; if (dictionary2 == null) { return; } foreach (string text2 in dictionary2.Keys) { if (int.TryParse(text2.Replace(text, "").Split(new string[] { "_" }, StringSplitOptions.None)[0], out int num)) { int key = num + groupOffset; foreach (string[] array in dictionary2[text2]) { if (int.TryParse(array[0], out int key2) && dictionary.ContainsKey(key)) { if (dictionary[key].dicCategory.ContainsKey(key2)) { if (force) { dictionary[key].dicCategory[key2] = array[1]; } } else { dictionary[key].dicCategory.Add(key2, array[1]); } } } } } }
public void InitList(AnimeGroupList.SEX _sex) { if (this.isInit) { return; } int childCount = this.transformRoot.get_childCount(); for (int index = 0; index < childCount; ++index) { Object.Destroy((Object)((Component)this.transformRoot.GetChild(index)).get_gameObject()); } this.transformRoot.DetachChildren(); this.scrollRect.set_verticalNormalizedPosition(1f); this.dicNode = new Dictionary <int, Image>(); this.sex = _sex; foreach (KeyValuePair <int, Info.GroupInfo> keyValuePair in (IEnumerable <KeyValuePair <int, Info.GroupInfo> >)Singleton <Info> .Instance.dicAGroupCategory.OrderBy <KeyValuePair <int, Info.GroupInfo>, int>((Func <KeyValuePair <int, Info.GroupInfo>, int>)(_v => _v.Value.sort))) { // ISSUE: object of a compiler-generated type is created // ISSUE: variable of a compiler-generated type AnimeGroupList.\u003CInitList\u003Ec__AnonStorey0 listCAnonStorey0 = new AnimeGroupList.\u003CInitList\u003Ec__AnonStorey0(); // ISSUE: reference to a compiler-generated field listCAnonStorey0.\u0024this = this; GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.objectPrefab); if (!gameObject.get_activeSelf()) { gameObject.SetActive(true); } gameObject.get_transform().SetParent(this.transformRoot, false); ListNode component = (ListNode)gameObject.GetComponent <ListNode>(); // ISSUE: reference to a compiler-generated field listCAnonStorey0.no = keyValuePair.Key; // ISSUE: method pointer component.AddActionToButton(new UnityAction((object)listCAnonStorey0, __methodptr(\u003C\u003Em__0))); component.text = keyValuePair.Value.name; this.dicNode.Add(keyValuePair.Key, component.image); } this.select = -1; if (!((Component)this).get_gameObject().get_activeSelf()) { ((Component)this).get_gameObject().SetActive(true); } this.animeCategoryList.active = false; this.animeList.active = false; this.isInit = true; }
public void InitList(AnimeGroupList.SEX _sex, int _group, int _category) { this.Init(); this.listNodePool.Return(); this.scrollRect.set_verticalNormalizedPosition(1f); this.dicNode.Clear(); foreach (KeyValuePair <int, Info.AnimeLoadInfo> keyValuePair in Singleton <Info> .Instance.dicAnimeLoadInfo[_group][_category]) { // ISSUE: object of a compiler-generated type is created // ISSUE: method pointer Studio.Anime.ListNode listNode = this.listNodePool.Rent(keyValuePair.Value.name, new UnityAction((object)new AnimeList.\u003CInitList\u003Ec__AnonStorey0() { \u0024this = this, no = keyValuePair.Key }, __methodptr(\u003C\u003Em__0))); this.dicNode.Add(keyValuePair.Key, listNode); } this.sex = _sex; this.group = _group; this.category = _category; this.select = -1; this.active = true; }
public void InitList(AnimeGroupList.SEX _sex, int _group) { this.Init(); this.listNodePool.Return(); this.scrollRect.set_verticalNormalizedPosition(1f); this.dicNode.Clear(); foreach (KeyValuePair <int, Info.CategoryInfo> keyValuePair in (IEnumerable <KeyValuePair <int, Info.CategoryInfo> >)Singleton <Info> .Instance.dicAGroupCategory[_group].dicCategory.OrderBy <KeyValuePair <int, Info.CategoryInfo>, int>((Func <KeyValuePair <int, Info.CategoryInfo>, int>)(v => v.Value.sort))) { // ISSUE: object of a compiler-generated type is created // ISSUE: method pointer Studio.Anime.ListNode listNode = this.listNodePool.Rent(keyValuePair.Value.name, new UnityAction((object)new AnimeCategoryList.\u003CInitList\u003Ec__AnonStorey0() { \u0024this = this, no = keyValuePair.Key }, __methodptr(\u003C\u003Em__0))); this.dicNode.Add(keyValuePair.Key, listNode); } this.select = -1; this.group = _group; this.sex = _sex; this.active = true; this.animeList.active = false; }
private void LoadAnim(AnimeGroupList.SEX sex, bool isH) { Dictionary <int, Dictionary <int, Dictionary <int, Info.AnimeLoadInfo> > > dicInfo; Dictionary <string, List <string[]> > dicArgs; int index; string pattern; switch (sex) { case AnimeGroupList.SEX.Female: dicInfo = info.dicFemaleAnimeLoadInfo; if (isH) { pattern = fileSuffixHAnimF; } else { pattern = fileSuffixAnimF; } break; case AnimeGroupList.SEX.Male: dicInfo = info.dicMaleAnimeLoadInfo; if (isH) { pattern = fileSuffixHAnimM; } else { pattern = fileSuffixAnimM; } break; default: return; } dicArgs = dicAllFileArgs[pattern]; if (dicArgs == null) { return; } foreach (string fileName in dicArgs.Keys) { // 00_00_00 のはず。 //または、各行からの方が良いか? <- でも無駄が多くなる? string[] ss = fileName.Replace(pattern, "").Split(new string[] { "_" }, 0); if (int.TryParse(ss[0], out int baseIndex) && int.TryParse(ss[1], out int catIndex)) { index = baseIndex + groupOffset; foreach (string[] args in dicArgs[fileName]) { //アニメの場合、グループもカテゴリーもインデックスがなければ追加 if (int.TryParse(args[0], out int clipIndex)) { if (!dicInfo.ContainsKey(index)) { dicInfo.Add(index, new Dictionary <int, Dictionary <int, Info.AnimeLoadInfo> >()); } if (!dicInfo[index].ContainsKey(catIndex)) { dicInfo[index].Add(catIndex, new Dictionary <int, Info.AnimeLoadInfo>()); } //アニメ情報入れる //<0管理番号><1大きい項目><2中間項目><3表示名><4バンドルパス><5ファイル名><6クリップ名><7BreastLayerの有り無し><8揺れ制御左><9揺れ制御右><10><11アイテム有り無し><管理番号><バンドルパス><ファイル名><付ける場所><管理番号><バンドルパス><ファイル名><付ける場所> Info.AnimeLoadInfo animInfo = null; try { animInfo = new Info.AnimeLoadInfo() { name = args[3], bundlePath = extDir + args[4], fileName = args[5], clip = args[6], isBreastLayer = args[7] == "True", isMotion = true, isHAnime = isH, isScale = false }; } catch { animInfo = null; } if (dicInfo[index][catIndex].ContainsKey(clipIndex)) { if (force) { dicInfo[index][catIndex][clipIndex] = animInfo; } } else { dicInfo[index][catIndex].Add(clipIndex, animInfo); } } } } } }
private void LoadCategory(AnimeGroupList.SEX sex, bool isAnim) { Dictionary <int, Info.GroupInfo> dicInfo; Dictionary <string, List <string[]> > dicArgs; int index; string pattern; switch (sex) { case AnimeGroupList.SEX.Female: dicInfo = info.dicFAGroupCategory; pattern = fileSuffixCatF; break; case AnimeGroupList.SEX.Male: dicInfo = info.dicMAGroupCategory; pattern = fileSuffixCatM; break; default: return; } if (!isAnim) { dicInfo = info.dicVoiceGroupCategory; pattern = fileSuffixVoiceCategory; } dicArgs = dicAllFileArgs[pattern]; if (dicArgs == null) { return; } foreach (string fileName in dicArgs.Keys) { // 00_00 のはず。 string[] ss = fileName.Replace(pattern, "").Split(new string[] { "_" }, 0); if (int.TryParse(ss[0], out int baseIndex)) { index = baseIndex + groupOffset; foreach (string[] args in dicArgs[fileName]) { if (int.TryParse(args[0], out int catIndex)) { if (dicInfo.ContainsKey(index)) { if (dicInfo[index].dicCategory.ContainsKey(catIndex)) { if (force) { dicInfo[index].dicCategory[catIndex] = args[1]; } } else { dicInfo[index].dicCategory.Add(catIndex, args[1]); } } else { //グループが先に用意されてない場合 ひとまず無視 } } } } } }
//Import to Studio Dictionary private void LoadGroup(AnimeGroupList.SEX sex, bool isAnim) { Dictionary <int, Info.GroupInfo> dicInfo; Dictionary <string, List <string[]> > dicArgs; int index; string pattern; switch (sex) { case AnimeGroupList.SEX.Female: dicInfo = info.dicFAGroupCategory; pattern = fileSuffixGrpF; break; case AnimeGroupList.SEX.Male: dicInfo = info.dicMAGroupCategory; pattern = fileSuffixGrpM; break; default: return; } if (!isAnim) { dicInfo = info.dicVoiceGroupCategory; pattern = fileSuffixVoiceGroup; } dicArgs = dicAllFileArgs[pattern]; if (dicArgs == null) { return; } foreach (string fileName in dicArgs.Keys) { foreach (string[] args in dicArgs[fileName]) { if (int.TryParse(args[0], out int baseIndex)) { index = baseIndex + groupOffset; if (dicInfo.ContainsKey(index)) { if (force) { dicInfo[index].name = groupSuffix + args[1]; } } else { dicInfo.Add(index, new Info.GroupInfo() { name = groupSuffix + args[1], dicCategory = new Dictionary <int, string>() }); } } } } }
private void LoadAnim(AnimeGroupList.SEX sex, bool isH) { Dictionary <int, Dictionary <int, Dictionary <int, Info.AnimeLoadInfo> > > dictionary; string text; if (sex != null) { if (sex != AnimeGroupList.SEX.Female) { return; } dictionary = info.dicAnimeLoadInfo; text = isH ? "FemaleHAnime_" : "FemaleAnime_"; } else { dictionary = info.dicAnimeLoadInfo; text = isH ? "MaleHAnime_" : "MaleAnime_"; } Dictionary <string, List <string[]> > dictionary2 = dicAllFileArgs[text]; if (dictionary2 == null) { return; } foreach (string text2 in dictionary2.Keys) { string[] array = text2.Replace(text, "").Split(new string[] { "_" }, StringSplitOptions.None); if (int.TryParse(array[0], out int num) && int.TryParse(array[1], out int key)) { int key2 = num + groupOffset; foreach (string[] array2 in dictionary2[text2]) { if (int.TryParse(array2[0], out int key3)) { if (!dictionary.ContainsKey(key2)) { dictionary.Add(key2, new Dictionary <int, Dictionary <int, Info.AnimeLoadInfo> >()); } if (!dictionary[key2].ContainsKey(key)) { dictionary[key2].Add(key, new Dictionary <int, Info.AnimeLoadInfo>()); } Info.AnimeLoadInfo value = null; try { value = new Info.AnimeLoadInfo { name = array2[3], bundlePath = Path.Combine(extDir, array2[4]), fileName = array2[5], clip = array2[6], //isBreastLayer = (array2[7] == "True"), //isMotion = true, //isHAnime = isH, //isScale = false }; } catch { value = null; } if (dictionary[key2][key].ContainsKey(key3)) { if (force) { dictionary[key2][key][key3] = value; } } else { dictionary[key2][key].Add(key3, value); } } } } } }