| | |
| | | public int minTaskHole { get; private set; }
|
| | | public int maxTaskHole { get; private set; }
|
| | |
|
| | | public bool skillMatchRedpointable
|
| | | {
|
| | | get { return LocalSave.GetBool("SkillMatchRedpointable_" + PlayerDatas.Instance.baseData.PlayerID); }
|
| | | set
|
| | | {
|
| | | LocalSave.SetBool("SkillMatchRedpointable_" + PlayerDatas.Instance.baseData.PlayerID, value);
|
| | | UpdateSkillMatchRedpoint();
|
| | | }
|
| | | }
|
| | |
|
| | | public readonly Redpoint redpoint = new Redpoint(103, 10301);
|
| | | public readonly Redpoint skillMatchRedpoint = new Redpoint(10301, 1030101);
|
| | |
|
| | | void ParseConfig()
|
| | | {
|
| | |
| | | return skill.GetSkillConfig(skill.level).SkillID;
|
| | | }
|
| | | return skillID;
|
| | | }
|
| | |
|
| | | public bool IsXpSkill(int skillId)
|
| | | {
|
| | | var config = SkillConfig.Get(skillId);
|
| | | if (config != null)
|
| | | {
|
| | | var job = PlayerDatas.Instance.baseData.Job;
|
| | | if (xpSkillsDic.ContainsKey(job))
|
| | | {
|
| | | return xpSkillsDic[job] == config.SkillTypeID;
|
| | | } |
| | | }
|
| | | return false;
|
| | | }
|
| | |
|
| | | void VerifyQuickSkillExistXp()
|
| | | {
|
| | | var quickSkills = PlayerDatas.Instance.skill.GetQuickSkills();
|
| | | var existXp = false;
|
| | | var lastIndex = 0;
|
| | | foreach (var index in quickSkills.Keys)
|
| | | {
|
| | | if (quickSkills[index] != null)
|
| | | {
|
| | | if (IsXpSkill(quickSkills[index].id))
|
| | | {
|
| | | existXp = true;
|
| | | QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.Skill, "***", index);
|
| | | continue;
|
| | | }
|
| | | if (existXp)
|
| | | {
|
| | | var temp = QuickSetting.Instance.GetQuickSetting(QuickSetting.QuickSettingType.Skill, index);
|
| | | QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.Skill, temp, index - 1);
|
| | | QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.Skill, "***", index);
|
| | | }
|
| | | lastIndex = index;
|
| | | }
|
| | | }
|
| | | if (existXp)
|
| | | {
|
| | | if (lastIndex == QUICK_SKILL_COUNT - 1)
|
| | | {
|
| | | var skills = GetActSkills();
|
| | | for (int i = 0; i < skills.Count; i++)
|
| | | {
|
| | | if (PlayerDatas.Instance.skill.GetSKillById(skills[i]) != null
|
| | | && !IsXpSkill(skills[i]) && PlayerDatas.Instance.skill.ContainsQuickSkill(skills[i]) == -1)
|
| | | {
|
| | | string value = MathUtils.Convert10To64(skills[i]);
|
| | | QuickSetting.Instance.SetQuickSetting(QuickSetting.QuickSettingType.Skill, value, lastIndex);
|
| | | break;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | QuickSetting.Instance.SendPackage();
|
| | | PlayerDatas.Instance.skill.SetQuickSkills();
|
| | | }
|
| | | }
|
| | |
|
| | | List<int> GetActSkills()
|
| | | {
|
| | | List<int> skills = new List<int>();
|
| | | var skillType = (int)Math.Pow(2, PlayerDatas.Instance.baseData.Job);
|
| | | Dictionary<int, List<int>> dict = skillActDict[skillType];
|
| | | foreach (int key in dict.Keys)
|
| | | {
|
| | | List<int> list = dict[key];
|
| | | var skillId = list[0];
|
| | | foreach (var id in list)
|
| | | {
|
| | | if (PlayerDatas.Instance.skill.GetSKillById(id) != null)
|
| | | {
|
| | | skillId = id;
|
| | | break;
|
| | | }
|
| | | }
|
| | | if (PlayerDatas.Instance.skill.GetFilterPlayerSkill(PlayerDatas.Instance.baseData.Job).Contains(skillId))
|
| | | {
|
| | | continue;
|
| | | }
|
| | | skills.Add(skillId);
|
| | | }
|
| | | return skills;
|
| | | }
|
| | | #endregion
|
| | |
|
| | |
| | | }
|
| | | playerLoginOk = true;
|
| | | UpdateRedpoint();
|
| | | VerifyQuickSkillExistXp();
|
| | | UpdateSkillMatchRedpoint();
|
| | | //UpdateTaskHoleRedpoint();
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | void UpdateSkillMatchRedpoint()
|
| | | {
|
| | | skillMatchRedpoint.state = skillMatchRedpointable ? RedPointState.Simple : RedPointState.None;
|
| | | }
|
| | |
|
| | | public void SetDayRemind()
|
| | | {
|
| | | DayRemind.Instance.SetDayRemind(DayRemind.PASS_SKILL_REDPOINT, true);
|