public void AddLearnSkill(body_SC_SKILL_LEARN_RESULT _learn) { // eCLASS __class = AsUserInfo.Instance.GetCurrentUserEntity().GetProperty<eCLASS>(eComponentProperty.CLASS); SkillView view = new SkillView(_learn.sSkill.nSkillTableIdx, _learn.sSkill.nSkillLevel); // view.SetSkillBookRecordByClass(__class); Tbl_Skill_Record record = AsTableManager.Instance.GetTbl_Skill_Record(view.nSkillTableIdx); if(record.Skill_Type == eSKILL_TYPE.Base) return; if(m_dicCurSkill.ContainsKey(_learn.sSkill.nSkillTableIdx) == true) { m_dicCurSkill.Remove(_learn.sSkill.nSkillTableIdx); } m_dicCurSkill.Add(_learn.sSkill.nSkillTableIdx, view); SortCurSkill(); if(m_dicNotSetting.ContainsKey(_learn.sSkill.nSkillTableIdx) == true) { m_dicNotSetting.Remove(_learn.sSkill.nSkillTableIdx); } m_dicNotSetting.Add(_learn.sSkill.nSkillTableIdx, view); SortNotSetting(); // add resettedSkills if( AsUserInfo.Instance.resettedSkills.ContainsKey( _learn.nSkillBookIdx ) == false ) { body2_SC_SKILLBOOK_LIST _skillBookList = new body2_SC_SKILLBOOK_LIST(); _skillBookList.nSkillBookTableIdx = _learn.nSkillBookIdx; AsUserInfo.Instance.resettedSkills.Add( _learn.nSkillBookIdx , _skillBookList); } AddSkillByType(view, true); if( record.Skill_Type != eSKILL_TYPE.Command && record.Skill_Type != eSKILL_TYPE.Passive ) ItemMgr.HadItemManagement.QuickSlot.SetLearnSkill( _learn.sSkill.nSkillTableIdx, _learn.sSkill.nSkillLevel ); if(AsHudDlgMgr.Instance.IsOpenedSkillBook == true) { ResetDicNotSettingData(); AsHudDlgMgr.Instance.skillBookDlg.RefreshSkillBookDlg(); } }
void SkillLearn_Result(byte[] _packet) { body_SC_SKILL_LEARN_RESULT result = new body_SC_SKILL_LEARN_RESULT(); result.PacketBytesToClass(_packet); switch( result.eResult) { case eRESULTCODE.eRESULT_SUCC: Debug.Log( "skill learn result: id=" + result.sSkill.nSkillTableIdx + ", lv=" + result.sSkill.nSkillLevel); QuestMessageBroadCaster.BrocastQuest( QuestMessages.QM_GET_SKILL, new AchGetSkill( result.nSkillBookIdx)); SkillBook.Instance.AddLearnSkill( result); if (result.nSkillBookIdx == 0) // quest { AsUserInfo.Instance.GetCurrentUserEntity().HandleMessage(new Msg_Player_Skill_Learn(false)); if( null != AsUserInfo.Instance.GetCurrentUserEntity() && null != AsUserInfo.Instance.GetCurrentUserEntity().ModelObject ) AsSoundManager.Instance.PlaySound("Sound/PC/Common/Se_Common_ArkSkillGet_Eff", AsUserInfo.Instance.GetCurrentUserEntity().ModelObject.transform.position, false); Tbl_Skill_Record skillRecord = AsTableManager.Instance.GetTbl_Skill_Record(result.sSkill.nSkillTableIdx); string msg = string.Format(AsTableManager.Instance.GetTbl_String(879), AsTableManager.Instance.GetTbl_String(skillRecord.SkillName_Index)); AsEventNotifyMgr.Instance.CenterNotify.AddQuestMessageColorTag(msg); } else { AsUserInfo.Instance.GetCurrentUserEntity().HandleMessage(new Msg_Player_Skill_Learn(true)); if( null != AsUserInfo.Instance.GetCurrentUserEntity() && null != AsUserInfo.Instance.GetCurrentUserEntity().ModelObject ) AsSoundManager.Instance.PlaySound("Sound/PC/Common/Se_Common_SkillLearn_Eff", AsUserInfo.Instance.GetCurrentUserEntity().ModelObject.transform.position, false); } break; case eRESULTCODE.eRESULT_FAIL_SKILLLEARN_NOT_EXIST: AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(4086), AsTableManager.Instance.GetTbl_String(81), null, null, AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_ERROR); break; case eRESULTCODE.eRESULT_FAIL_SKILLLEARN_LEARN_ALREADY: AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(4086), AsTableManager.Instance.GetTbl_String(82), null, null, AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_ERROR); break; case eRESULTCODE.eRESULT_FAIL_SKILLLEARN_LEARN_OTHER: AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(4086), AsTableManager.Instance.GetTbl_String(83), null, null, AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_ERROR); break; case eRESULTCODE.eRESULT_FAIL_SKILLLEARN_NEED_LEVEL: AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(4086), AsTableManager.Instance.GetTbl_String(84), null, null, AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_ERROR); break; case eRESULTCODE.eRESULT_FAIL_SKILLLEARN_NEED_SKILLLEVEL: AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(4086), AsTableManager.Instance.GetTbl_String(85), null, null, AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_ERROR); break; case eRESULTCODE.eRESULT_FAIL_SKILLLEARN_NEED_GOLD: AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(4086), AsTableManager.Instance.GetTbl_String(86), null, null, AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_ERROR); break; case eRESULTCODE.eRESULT_FAIL_SKILLLEARN_NEED_CLASS: AsNotify.Instance.MessageBox( AsTableManager.Instance.GetTbl_String(4086), AsTableManager.Instance.GetTbl_String(87), null, null, AsNotify.MSG_BOX_TYPE.MBT_OK, AsNotify.MSG_BOX_ICON.MBI_ERROR); break; default: Debug.LogError( "Invalid SkillLeanResult"); break; } RestructureSkillshop(); }