public static bool PrefixCreateDatas(out Dictionary <int, YotogiSkillListManager.Data> result, Status status, bool specialConditionCheck, Skill.Data.SpecialConditionType type) { result = new Dictionary <int, YotogiSkillListManager.Data>(); if (!EnableYotogiSkills) { return(false); } YotogiSkillSystem skillSystem = CreateDummySkillSystem(status); foreach (var skillDatas in Skill.skill_data_list) { foreach (var idSkillPair in skillDatas) { Skill.Data skill = idSkillPair.Value; if (!skill.IsExecPersonal(status.personal) || specialConditionCheck && skill.specialConditionType != type) { continue; } YotogiSkillData skillData = skillSystem.Get(skill.id); if (skillData == null) { skillData = new YotogiSkillData { data = skill, oldData = skill.oldData }; skillData.expSystem.SetExreienceList(new List <int>(skill.skill_exp_table)); } var data = new YotogiSkillListManager.Data { skillData = skill, conditionDatas = new KeyValuePair <string[], bool> [0], maidStatusSkillData = skillData }; result.Add(skill.id, data); } } return(true); }
public static bool PrefixCreateDatasOld(out Dictionary <int, YotogiSkillListManager.Data> result, Status status) { result = new Dictionary <int, YotogiSkillListManager.Data>(); if (!EnableYotogiSkills) { return(false); } YotogiSkillSystem skillSystem = CreateDummySkillSystem(status); foreach (var skillDatas in Skill.Old.skill_data_list) { foreach (var idSkillPair in skillDatas) { Skill.Old.Data skill = idSkillPair.Value; YotogiSkillData skillData = skillSystem.Get(skill.id); if (skillData == null) { skillData = new YotogiSkillData { oldData = skill }; skillData.expSystem.SetExreienceList(new List <int>(skill.skill_exp_table)); } var data = new YotogiSkillListManager.Data { skillDataOld = skill, conditionDatas = new KeyValuePair <string[], bool> [0], maidStatusSkillData = skillData }; result.Add(skill.id, data); } } return(true); }
//public static List<Skill.Old.Data> skillOldList = new List<Skill.Old.Data>(); /// <summary> /// fail /// </summary> public static void AddSkill(bool listClear = true) { if (instance == null) { MyLog.LogMessage("YotogiSkillContainerViewer.AddSkill instance==null" ); return; } if (listClear) { YotogiStage.Data setting_stage_data_; if (YotogiStageSelectManager.SelectedStage != null) { setting_stage_data_ = YotogiStageSelectManager.SelectedStage; } else { setting_stage_data_ = YotogiStage.GetAllDatas(true)[0]; } //foreach (Skill.Data.SpecialConditionType type in Enum.GetValues(typeof(Skill.Data.SpecialConditionType))) foreach (Skill.Data.SpecialConditionType type in YotogiSkillSelectManagerPatch.instance.conditionSetting.checkBoxTypes) { //bool enabled = false; Dictionary <int, YotogiSkillListManager.Data> dictionary = YotogiSkillListManager.CreateDatas(maid.status, true, type); foreach (KeyValuePair <int, YotogiSkillListManager.Data> keyValuePair in dictionary) { YotogiSkillListManager.Data value = keyValuePair.Value; if (value.skillData.IsExecStage(setting_stage_data_)) { MyLog.LogMessage("AddSkill" , type , value.skillData.category , value.skillData.id , value.skillData.name , value.maidStatusSkillData != null ); if (value.maidStatusSkillData != null) { skillList.Add(value.skillData); } //skillOldList.Add(value.skillDataOld); } } } } int c = UnityEngine.Random.Range(0, skillList.Count); if (skillList.Count > 0) { for (int i = 0; i < 7; i++) { c = UnityEngine.Random.Range(0, skillList.Count); try { MyLog.LogMessage("AddSkill" , skillList[c].category , skillList[c].id , skillList[c].name , skillList[c].specialConditionType , skillList[c].start_call_file , skillList[c].start_call_file2 ); instance.AddSkill(skillList[c], false); } catch (Exception e) { MyLog.LogError(e.ToString()); } } } }