Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        //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());
                    }
                }
            }
        }