Exemplo n.º 1
0
	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();			
		}
	}
Exemplo n.º 2
0
	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();
	}