|
@@ -467,14 +467,27 @@ public class FreeSkillSelect : MonoBehaviour
|
|
this.select_skill_ = skill_data.skill_data;
|
|
this.select_skill_ = skill_data.skill_data;
|
|
this.CreateStage(skill_data.skill_data);
|
|
this.CreateStage(skill_data.skill_data);
|
|
FreeSkillSelect.ButtonData buttonData = (skill_data.parent == null) ? null : ((skill_data.parent.parent == null) ? null : skill_data.parent.parent);
|
|
FreeSkillSelect.ButtonData buttonData = (skill_data.parent == null) ? null : ((skill_data.parent.parent == null) ? null : skill_data.parent.parent);
|
|
- FreeSkillSelect.RootType rootType = (buttonData == null) ? FreeSkillSelect.RootType.Null : buttonData.root_type;
|
|
|
|
- if (FreeSkillSelect.RootType.GP01Harem <= rootType && rootType <= FreeSkillSelect.RootType.GP02Yuri)
|
|
|
|
|
|
+ string item = (buttonData == null) ? FreeSkillSelect.RootType.Null.ToString() : buttonData.root_type;
|
|
|
|
+ HashSet<string> hashSet = new HashSet<string>();
|
|
|
|
+ foreach (FreeSkillSelect.RootType rootType in new FreeSkillSelect.RootType[]
|
|
|
|
+ {
|
|
|
|
+ FreeSkillSelect.RootType.Null,
|
|
|
|
+ FreeSkillSelect.RootType.Drunk,
|
|
|
|
+ FreeSkillSelect.RootType.Mask,
|
|
|
|
+ FreeSkillSelect.RootType.Drug,
|
|
|
|
+ FreeSkillSelect.RootType.Faint,
|
|
|
|
+ FreeSkillSelect.RootType.Confess
|
|
|
|
+ })
|
|
|
|
+ {
|
|
|
|
+ hashSet.Add(rootType.ToString());
|
|
|
|
+ }
|
|
|
|
+ if (!hashSet.Contains(item))
|
|
{
|
|
{
|
|
List<Transform> childList = this.update_obj_dic_["レベル"].ui_grid.GetChildList();
|
|
List<Transform> childList = this.update_obj_dic_["レベル"].ui_grid.GetChildList();
|
|
bool flag = true;
|
|
bool flag = true;
|
|
- for (int i = childList.Count - 1; i >= 0; i--)
|
|
|
|
|
|
+ for (int j = childList.Count - 1; j >= 0; j--)
|
|
{
|
|
{
|
|
- UIWFTabButton componentInChildren = childList[i].gameObject.GetComponentInChildren<UIWFTabButton>();
|
|
|
|
|
|
+ UIWFTabButton componentInChildren = childList[j].gameObject.GetComponentInChildren<UIWFTabButton>();
|
|
if (!(componentInChildren == null) && componentInChildren.isEnabled)
|
|
if (!(componentInChildren == null) && componentInChildren.isEnabled)
|
|
{
|
|
{
|
|
if (flag)
|
|
if (flag)
|
|
@@ -492,9 +505,9 @@ public class FreeSkillSelect : MonoBehaviour
|
|
else
|
|
else
|
|
{
|
|
{
|
|
List<Transform> childList2 = this.update_obj_dic_["レベル"].ui_grid.GetChildList();
|
|
List<Transform> childList2 = this.update_obj_dic_["レベル"].ui_grid.GetChildList();
|
|
- for (int j = 0; j < childList2.Count; j++)
|
|
|
|
|
|
+ for (int k = 0; k < childList2.Count; k++)
|
|
{
|
|
{
|
|
- UIWFTabButton componentInChildren2 = childList2[j].gameObject.GetComponentInChildren<UIWFTabButton>();
|
|
|
|
|
|
+ UIWFTabButton componentInChildren2 = childList2[k].gameObject.GetComponentInChildren<UIWFTabButton>();
|
|
if (!(componentInChildren2 == null))
|
|
if (!(componentInChildren2 == null))
|
|
{
|
|
{
|
|
componentInChildren2.isEnabled = true;
|
|
componentInChildren2.isEnabled = true;
|
|
@@ -518,56 +531,74 @@ public class FreeSkillSelect : MonoBehaviour
|
|
|
|
|
|
private static List<FreeSkillSelect.ButtonData> CreateButtonData(Maid maid, HashSet<int> selectableStageIds)
|
|
private static List<FreeSkillSelect.ButtonData> CreateButtonData(Maid maid, HashSet<int> selectableStageIds)
|
|
{
|
|
{
|
|
- List<FreeSkillSelect.ButtonData> list = new List<FreeSkillSelect.ButtonData>();
|
|
|
|
- Dictionary<FreeSkillSelect.RootType, KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>>> type_data_dic = new Dictionary<FreeSkillSelect.RootType, KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>>>();
|
|
|
|
- List<KeyValuePair<FreeSkillSelect.RootType, string>> list2 = new List<KeyValuePair<FreeSkillSelect.RootType, string>>();
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.Null, "通常"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.Drunk, "酔い"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.Mask, "目隠し"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.Drug, "媚薬"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.Confess, "告白"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.Faint, "気絶"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP01Harem, "GP-01ハーレム"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP01Swapping, "GP-01スワッピング"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP01NTR, "GP-01寝取らせ"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP01NTRReport, "GP-01寝取らせ報告"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP02Harem, "GP-02ハーレム"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP02Swapping, "GP-02スワッピング"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP02NTR, "GP-02寝取らせ"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP02NTRReport, "GP-02寝取らせ報告"));
|
|
|
|
- list2.Add(new KeyValuePair<FreeSkillSelect.RootType, string>(FreeSkillSelect.RootType.GP02Yuri, "GP-02百合"));
|
|
|
|
- for (int i = 0; i < list2.Count; i++)
|
|
|
|
- {
|
|
|
|
- FreeSkillSelect.ButtonData buttonData = new FreeSkillSelect.ButtonData();
|
|
|
|
- buttonData.children_list = new List<FreeSkillSelect.ButtonData>();
|
|
|
|
- buttonData.name = list2[i].Value;
|
|
|
|
- buttonData.nameTerm = "SceneYotogi/スキル所属/" + buttonData.name;
|
|
|
|
- buttonData.root_type = list2[i].Key;
|
|
|
|
- list.Add(buttonData);
|
|
|
|
- type_data_dic.Add(buttonData.root_type, new KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>>(buttonData, new Dictionary<string, FreeSkillSelect.ButtonData>()));
|
|
|
|
- }
|
|
|
|
- for (int j = 0; j < list.Count; j++)
|
|
|
|
- {
|
|
|
|
- for (int k = 0; k < 8; k++)
|
|
|
|
- {
|
|
|
|
- FreeSkillSelect.ButtonData buttonData2 = list[j];
|
|
|
|
- FreeSkillSelect.ButtonData buttonData3 = new FreeSkillSelect.ButtonData();
|
|
|
|
- buttonData3.children_list = new List<FreeSkillSelect.ButtonData>();
|
|
|
|
- FreeSkillSelect.ButtonData buttonData4 = buttonData3;
|
|
|
|
- Yotogi.Category category = (Yotogi.Category)k;
|
|
|
|
- buttonData4.name = category.ToString();
|
|
|
|
- buttonData3.nameTerm = "SceneYotogi/スキルカテゴリー/" + buttonData3.name;
|
|
|
|
- buttonData3.parent = buttonData2;
|
|
|
|
- buttonData2.children_list.Add(buttonData3);
|
|
|
|
- type_data_dic[list[j].root_type].Value.Add(buttonData3.name, buttonData3);
|
|
|
|
|
|
+ List<FreeSkillSelect.ButtonData> top_btn_data_list = new List<FreeSkillSelect.ButtonData>();
|
|
|
|
+ Dictionary<string, KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>>> type_data_dic = new Dictionary<string, KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>>>();
|
|
|
|
+ List<KeyValuePair<string, string>> baseCategoryDefine = new List<KeyValuePair<string, string>>();
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.Null.ToString(), "通常"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.Drunk.ToString(), "酔い"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.Mask.ToString(), "目隠し"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.Drug.ToString(), "媚薬"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.Confess.ToString(), "告白"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.Faint.ToString(), "気絶"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP01Harem.ToString(), "GP-01ハーレム"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP01Swapping.ToString(), "GP-01スワッピング"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP01NTR.ToString(), "GP-01寝取らせ"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP01NTRReport.ToString(), "GP-01寝取らせ報告"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP02Harem.ToString(), "GP-02ハーレム"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP02Swapping.ToString(), "GP-02スワッピング"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP02NTR.ToString(), "GP-02寝取らせ"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP02NTRReport.ToString(), "GP-02寝取らせ報告"));
|
|
|
|
+ baseCategoryDefine.Add(new KeyValuePair<string, string>(FreeSkillSelect.RootType.GP02Yuri.ToString(), "GP-02百合"));
|
|
|
|
+ Func<string, KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>>> func = delegate(string typeName)
|
|
|
|
+ {
|
|
|
|
+ KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>> result;
|
|
|
|
+ if (type_data_dic.TryGetValue(typeName, out result))
|
|
|
|
+ {
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+ FreeSkillSelect.ButtonData buttonData4 = new FreeSkillSelect.ButtonData();
|
|
|
|
+ buttonData4.children_list = new List<FreeSkillSelect.ButtonData>();
|
|
|
|
+ foreach (KeyValuePair<string, string> keyValuePair3 in baseCategoryDefine)
|
|
|
|
+ {
|
|
|
|
+ if (!(keyValuePair3.Key != typeName))
|
|
|
|
+ {
|
|
|
|
+ buttonData4.name = keyValuePair3.Value;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+ if (string.IsNullOrEmpty(buttonData4.name))
|
|
|
|
+ {
|
|
|
|
+ buttonData4.name = typeName;
|
|
|
|
+ }
|
|
|
|
+ buttonData4.nameTerm = "SceneYotogi/スキル所属/" + buttonData4.name;
|
|
|
|
+ buttonData4.root_type = typeName;
|
|
|
|
+ top_btn_data_list.Add(buttonData4);
|
|
|
|
+ type_data_dic.Add(buttonData4.root_type, new KeyValuePair<FreeSkillSelect.ButtonData, Dictionary<string, FreeSkillSelect.ButtonData>>(buttonData4, new Dictionary<string, FreeSkillSelect.ButtonData>()));
|
|
|
|
+ FreeSkillSelect.ButtonData buttonData5 = top_btn_data_list[top_btn_data_list.Count - 1];
|
|
|
|
+ for (int l = 0; l < 8; l++)
|
|
|
|
+ {
|
|
|
|
+ FreeSkillSelect.ButtonData buttonData6 = new FreeSkillSelect.ButtonData();
|
|
|
|
+ buttonData6.children_list = new List<FreeSkillSelect.ButtonData>();
|
|
|
|
+ FreeSkillSelect.ButtonData buttonData7 = buttonData6;
|
|
|
|
+ Yotogi.Category category2 = (Yotogi.Category)l;
|
|
|
|
+ buttonData7.name = category2.ToString();
|
|
|
|
+ buttonData6.nameTerm = "SceneYotogi/スキルカテゴリー/" + buttonData6.name;
|
|
|
|
+ buttonData6.parent = buttonData5;
|
|
|
|
+ buttonData5.children_list.Add(buttonData6);
|
|
|
|
+ type_data_dic[buttonData5.root_type].Value.Add(buttonData6.name, buttonData6);
|
|
|
|
+ }
|
|
|
|
+ return type_data_dic[buttonData4.root_type];
|
|
|
|
+ };
|
|
|
|
+ for (int i = 0; i < baseCategoryDefine.Count; i++)
|
|
|
|
+ {
|
|
|
|
+ func(baseCategoryDefine[i].Key);
|
|
}
|
|
}
|
|
CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
|
|
CharacterMgr characterMgr = GameMain.Instance.CharacterMgr;
|
|
int[] keyArray = maid.status.yotogiSkill.datas.GetKeyArray();
|
|
int[] keyArray = maid.status.yotogiSkill.datas.GetKeyArray();
|
|
Dictionary<int, List<Skill.Data>> dictionary = new Dictionary<int, List<Skill.Data>>();
|
|
Dictionary<int, List<Skill.Data>> dictionary = new Dictionary<int, List<Skill.Data>>();
|
|
- for (int l = 0; l < keyArray.Length; l++)
|
|
|
|
|
|
+ for (int j = 0; j < keyArray.Length; j++)
|
|
{
|
|
{
|
|
- Skill.Data data = Skill.Get(keyArray[l]);
|
|
|
|
|
|
+ Skill.Data data = Skill.Get(keyArray[j]);
|
|
if (data.specialConditionType != Skill.Data.SpecialConditionType.NewType)
|
|
if (data.specialConditionType != Skill.Data.SpecialConditionType.NewType)
|
|
{
|
|
{
|
|
if (PersonalEventBlocker.IsEnabledYotodiSkill(maid.status.personal, data.id))
|
|
if (PersonalEventBlocker.IsEnabledYotodiSkill(maid.status.personal, data.id))
|
|
@@ -585,12 +616,12 @@ public class FreeSkillSelect : MonoBehaviour
|
|
}
|
|
}
|
|
if (flag)
|
|
if (flag)
|
|
{
|
|
{
|
|
- int category2 = (int)data.category;
|
|
|
|
- if (!dictionary.ContainsKey(category2))
|
|
|
|
|
|
+ int category = (int)data.category;
|
|
|
|
+ if (!dictionary.ContainsKey(category))
|
|
{
|
|
{
|
|
- dictionary.Add(category2, new List<Skill.Data>());
|
|
|
|
|
|
+ dictionary.Add(category, new List<Skill.Data>());
|
|
}
|
|
}
|
|
- dictionary[category2].Add(data);
|
|
|
|
|
|
+ dictionary[category].Add(data);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -601,24 +632,24 @@ public class FreeSkillSelect : MonoBehaviour
|
|
List<Skill.Data> value = keyValuePair.Value;
|
|
List<Skill.Data> value = keyValuePair.Value;
|
|
value.Sort((Skill.Data a, Skill.Data b) => a.sortId - b.sortId);
|
|
value.Sort((Skill.Data a, Skill.Data b) => a.sortId - b.sortId);
|
|
}
|
|
}
|
|
- List<Skill.Data> list3 = new List<Skill.Data>();
|
|
|
|
|
|
+ List<Skill.Data> list = new List<Skill.Data>();
|
|
foreach (KeyValuePair<int, List<Skill.Data>> keyValuePair2 in dictionary)
|
|
foreach (KeyValuePair<int, List<Skill.Data>> keyValuePair2 in dictionary)
|
|
{
|
|
{
|
|
List<Skill.Data> value2 = keyValuePair2.Value;
|
|
List<Skill.Data> value2 = keyValuePair2.Value;
|
|
foreach (Skill.Data item2 in value2)
|
|
foreach (Skill.Data item2 in value2)
|
|
{
|
|
{
|
|
- list3.Add(item2);
|
|
|
|
|
|
+ list.Add(item2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- foreach (Skill.Data data2 in list3)
|
|
|
|
|
|
+ foreach (Skill.Data data2 in list)
|
|
{
|
|
{
|
|
int user_player_num = data2.user_player_num;
|
|
int user_player_num = data2.user_player_num;
|
|
if (1 < user_player_num)
|
|
if (1 < user_player_num)
|
|
{
|
|
{
|
|
int num = 0;
|
|
int num = 0;
|
|
- for (int m = 0; m < characterMgr.GetMaidCount(); m++)
|
|
|
|
|
|
+ for (int k = 0; k < characterMgr.GetMaidCount(); k++)
|
|
{
|
|
{
|
|
- if (!(characterMgr.GetMaid(m) != null))
|
|
|
|
|
|
+ if (!(characterMgr.GetMaid(k) != null))
|
|
{
|
|
{
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -631,94 +662,102 @@ public class FreeSkillSelect : MonoBehaviour
|
|
}
|
|
}
|
|
if (data2.IsExecMaid(maid.status))
|
|
if (data2.IsExecMaid(maid.status))
|
|
{
|
|
{
|
|
- FreeSkillSelect.RootType key;
|
|
|
|
|
|
+ string arg = FreeSkillSelect.RootType.Null.ToString();
|
|
if (Skill.Data.SpecialConditionType.Null <= data2.specialConditionType && data2.specialConditionType <= Skill.Data.SpecialConditionType.Confess)
|
|
if (Skill.Data.SpecialConditionType.Null <= data2.specialConditionType && data2.specialConditionType <= Skill.Data.SpecialConditionType.Confess)
|
|
{
|
|
{
|
|
- key = (FreeSkillSelect.RootType)data2.specialConditionType;
|
|
|
|
|
|
+ arg = ((FreeSkillSelect.RootType)data2.specialConditionType).ToString();
|
|
}
|
|
}
|
|
else if (data2.specialConditionType == Skill.Data.SpecialConditionType.GP01Recollect)
|
|
else if (data2.specialConditionType == Skill.Data.SpecialConditionType.GP01Recollect)
|
|
{
|
|
{
|
|
|
|
+ FreeSkillSelect.RootType rootType;
|
|
if (data2.category == Yotogi.Category.ハ\u30FCレム)
|
|
if (data2.category == Yotogi.Category.ハ\u30FCレム)
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP01Harem;
|
|
|
|
|
|
+ rootType = FreeSkillSelect.RootType.GP01Harem;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP01Swapping;
|
|
|
|
|
|
+ rootType = FreeSkillSelect.RootType.GP01Swapping;
|
|
if (data2.name.Contains("報告"))
|
|
if (data2.name.Contains("報告"))
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP01NTRReport;
|
|
|
|
|
|
+ rootType = FreeSkillSelect.RootType.GP01NTRReport;
|
|
}
|
|
}
|
|
else if (data2.name.Contains("寝取り"))
|
|
else if (data2.name.Contains("寝取り"))
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP01NTR;
|
|
|
|
|
|
+ rootType = FreeSkillSelect.RootType.GP01NTR;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ arg = rootType.ToString();
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+ else if (data2.specialConditionType == Skill.Data.SpecialConditionType.GP02Recollect)
|
|
{
|
|
{
|
|
- if (data2.specialConditionType != Skill.Data.SpecialConditionType.GP02Recollect)
|
|
|
|
- {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
|
|
+ FreeSkillSelect.RootType rootType2;
|
|
if (data2.category == Yotogi.Category.ハ\u30FCレム)
|
|
if (data2.category == Yotogi.Category.ハ\u30FCレム)
|
|
{
|
|
{
|
|
if (data2.name.Contains("百合"))
|
|
if (data2.name.Contains("百合"))
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP02Yuri;
|
|
|
|
|
|
+ rootType2 = FreeSkillSelect.RootType.GP02Yuri;
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP02Harem;
|
|
|
|
|
|
+ rootType2 = FreeSkillSelect.RootType.GP02Harem;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP02Swapping;
|
|
|
|
|
|
+ rootType2 = FreeSkillSelect.RootType.GP02Swapping;
|
|
if (data2.name.Contains("報告"))
|
|
if (data2.name.Contains("報告"))
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP02NTRReport;
|
|
|
|
|
|
+ rootType2 = FreeSkillSelect.RootType.GP02NTRReport;
|
|
}
|
|
}
|
|
else if (data2.name.Contains("寝取り"))
|
|
else if (data2.name.Contains("寝取り"))
|
|
{
|
|
{
|
|
- key = FreeSkillSelect.RootType.GP02NTR;
|
|
|
|
|
|
+ rootType2 = FreeSkillSelect.RootType.GP02NTR;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ arg = rootType2.ToString();
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ if (data2.specialConditionType != Skill.Data.SpecialConditionType.OnlyRecollect)
|
|
|
|
+ {
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ arg = (string.IsNullOrEmpty(data2.customRecollectionCategoryName) ? "-" : data2.customRecollectionCategoryName);
|
|
}
|
|
}
|
|
- FreeSkillSelect.ButtonData buttonData5 = type_data_dic[key].Value[data2.category.ToString()];
|
|
|
|
- if (buttonData5 != null)
|
|
|
|
|
|
+ FreeSkillSelect.ButtonData buttonData = func(arg).Value[data2.category.ToString()];
|
|
|
|
+ if (buttonData != null)
|
|
{
|
|
{
|
|
- FreeSkillSelect.ButtonData buttonData6 = new FreeSkillSelect.ButtonData();
|
|
|
|
- buttonData6.parent = buttonData5;
|
|
|
|
- buttonData6.name = data2.name;
|
|
|
|
- buttonData6.skill_data = data2;
|
|
|
|
- buttonData5.children_list.Add(buttonData6);
|
|
|
|
|
|
+ FreeSkillSelect.ButtonData buttonData2 = new FreeSkillSelect.ButtonData();
|
|
|
|
+ buttonData2.parent = buttonData;
|
|
|
|
+ buttonData2.name = data2.name;
|
|
|
|
+ buttonData2.skill_data = data2;
|
|
|
|
+ buttonData.children_list.Add(buttonData2);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- Action<FreeSkillSelect.RootType> action = delegate(FreeSkillSelect.RootType type)
|
|
|
|
|
|
+ Action<string> action = delegate(string type)
|
|
{
|
|
{
|
|
Dictionary<string, FreeSkillSelect.ButtonData> value3 = type_data_dic[type].Value;
|
|
Dictionary<string, FreeSkillSelect.ButtonData> value3 = type_data_dic[type].Value;
|
|
HashSet<string> hashSet = new HashSet<string>();
|
|
HashSet<string> hashSet = new HashSet<string>();
|
|
- List<FreeSkillSelect.ButtonData> list4 = new List<FreeSkillSelect.ButtonData>();
|
|
|
|
|
|
+ List<FreeSkillSelect.ButtonData> list2 = new List<FreeSkillSelect.ButtonData>();
|
|
foreach (KeyValuePair<string, FreeSkillSelect.ButtonData> keyValuePair3 in value3)
|
|
foreach (KeyValuePair<string, FreeSkillSelect.ButtonData> keyValuePair3 in value3)
|
|
{
|
|
{
|
|
if (keyValuePair3.Value.children_list != null && 1 <= keyValuePair3.Value.children_list.Count && !hashSet.Contains(keyValuePair3.Key))
|
|
if (keyValuePair3.Value.children_list != null && 1 <= keyValuePair3.Value.children_list.Count && !hashSet.Contains(keyValuePair3.Key))
|
|
{
|
|
{
|
|
hashSet.Add(keyValuePair3.Key);
|
|
hashSet.Add(keyValuePair3.Key);
|
|
- list4.Add(keyValuePair3.Value);
|
|
|
|
|
|
+ list2.Add(keyValuePair3.Value);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- type_data_dic[type].Key.children_list = list4;
|
|
|
|
|
|
+ type_data_dic[type].Key.children_list = list2;
|
|
};
|
|
};
|
|
- foreach (FreeSkillSelect.ButtonData buttonData7 in list)
|
|
|
|
|
|
+ foreach (FreeSkillSelect.ButtonData buttonData3 in top_btn_data_list)
|
|
{
|
|
{
|
|
- if (buttonData7.root_type != FreeSkillSelect.RootType.Null)
|
|
|
|
|
|
+ if (buttonData3.root_type != FreeSkillSelect.RootType.Null.ToString())
|
|
{
|
|
{
|
|
- action(buttonData7.root_type);
|
|
|
|
|
|
+ action(buttonData3.root_type);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return list;
|
|
|
|
|
|
+ return top_btn_data_list;
|
|
}
|
|
}
|
|
|
|
|
|
private static FreeSkillSelect.ButtonData GetButtonData(List<FreeSkillSelect.ButtonData> check_list, string name)
|
|
private static FreeSkillSelect.ButtonData GetButtonData(List<FreeSkillSelect.ButtonData> check_list, string name)
|
|
@@ -807,7 +846,7 @@ public class FreeSkillSelect : MonoBehaviour
|
|
|
|
|
|
public Skill.Data skill_data;
|
|
public Skill.Data skill_data;
|
|
|
|
|
|
- public FreeSkillSelect.RootType root_type;
|
|
|
|
|
|
+ public string root_type;
|
|
}
|
|
}
|
|
|
|
|
|
private class UpdateObject
|
|
private class UpdateObject
|