Esempio n. 1
0
 /// <summary>
 /// 인벤토리 정보 to clinet
 /// </summary>
 /// <param name="send"></param>
 /// <returns></returns>
 public bool TryGetItems(LZ4_PT_CG_Item_GetList_RS send)
 {
     if (true == m_itemInven.TryGetItems(out send.m_rdItems))
     {
         send.m_eErrorCode = eErrorCode.Success;
         return(true);
     }
     else
     {
         send.m_eErrorCode = eErrorCode.Auth_PleaseLogin;
         return(false);
     }
 }
        public override void Process()
        {
            // 기본 영주 정보 얻어오기
            fmLord lord = null;

            m_session.TryGetLord(out lord);

            // 프로토콜 RQ
            using (var recvfmProtocol = new PT_CG_Item_GetList_RQ())
            {
                // 프로토콜 Read
                recvfmProtocol.Deserialize(m_recvPacket);

                // 프로토콜 RS
                using (var sendfmProtocol = new LZ4_PT_CG_Item_GetList_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.TryGetItems(sendfmProtocol);
                    // 프로토콜 전송
                    m_session.SendPacket(sendfmProtocol);
                }
            }
        }