public override void Process() { // 기본 영주 정보 얻어오기 fmLord lord = null; m_session.TryGetLord(out lord); // 프로토콜 RQ using (var recvfmProtocol = new PT_CG_Item_Equip_RQ()) { // 프로토콜 Read recvfmProtocol.Deserialize(m_recvPacket); // 프로토콜 RS using (var sendfmProtocol = new PT_CG_Item_Equip_RS()) { // check if (null == lord) { sendfmProtocol.m_eErrorCode = eErrorCode.Auth_PleaseLogin; m_session.SendPacket(sendfmProtocol); return; } // check state if (lord.State != eLordState.Normal) { sendfmProtocol.m_eErrorCode = eErrorCode.Auth_PleaseLogin; m_session.SendPacket(sendfmProtocol); return; } // 아이템 장착 lord.TryEquip(recvfmProtocol, sendfmProtocol); // 프로토콜 send m_session.SendPacket(sendfmProtocol); if (sendfmProtocol.m_eErrorCode == eErrorCode.Success) { // 로그 남기기 ArchiveExecuter.Instance.Push(new Msg_Log_Act(m_server.dbLog(), new fmLogAct { Time = fmServerTime.Now, PType = sendfmProtocol.GeteProtocolType(), AccId = lord.AccId, Lv = lord.GetLv(), Gold = lord.GetGold(), C1 = lord.GetRuby(), C2 = lord.GetStone(), } )); } } } }
/// <summary> /// 아이템 장착 /// </summary> /// <param name="recv"></param> /// <param name="send"></param> /// <returns></returns> public bool TryEquip(PT_CG_Item_Equip_RQ recv, PT_CG_Item_Equip_RS send) { send.m_eErrorCode = m_itemInven.Equip(recv.m_nSlot, GetLv()); if (send.m_eErrorCode == eErrorCode.Success) { using (urq_EquipItem query = new urq_EquipItem(eRedis.Game)) { query.i_biAccID = AccId; TryGetItems(out query.i_items); send.m_eErrorCode = query.Execute(); // // 성공 일때 클라인언트로 보내 줄거 파라미터 정하기 } } return(true); }