Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
113 lines
5.4 KiB
C++
113 lines
5.4 KiB
C++
#ifndef _DISPATCH_H_
|
|
#define _DISPATCH_H_
|
|
|
|
#include <Network/Dispatch/AdminToolDispatch.h>
|
|
#include <Network/AgentServerParseData/Ryl_AgentServerParseData.h>
|
|
#include <CharacterDoc.h>
|
|
|
|
struct PktBase;
|
|
|
|
namespace PktAdminMgr
|
|
{
|
|
struct PktGetAdminStoreItemAck;
|
|
};
|
|
|
|
|
|
class CClientDispatch : public CClientMultiThreadDispatch
|
|
{
|
|
public:
|
|
CClientDispatch() { }
|
|
|
|
virtual CClientDispatch* Clone() { return new CClientDispatch; }
|
|
virtual void Destroy() { delete this; }
|
|
virtual void Disconnected() { }
|
|
private:
|
|
virtual bool DispatchPacket(PktBase* lpPktBase);
|
|
|
|
// Packet Process
|
|
bool PktResultAck (PktBase* lpPktBase);
|
|
bool PktAdminListAck (PktBase* lpPktBase);
|
|
bool PktLoginInfoAck (PktBase* lpPktBase);
|
|
bool PktDelAdminAck (PktBase* lpPktBase);
|
|
bool PktUpdateLevelAck (PktBase* lpPktBase);
|
|
bool PktUpdateIPAck (PktBase* lpPktBase);
|
|
bool PktLogListAck (PktBase* lpPktBase);
|
|
bool PktDetailLogAck (PktBase* lpPktBase);
|
|
bool PktGetExitLogAck (PktBase* lpPktBase);
|
|
bool PktBeforeAfterAck (PktBase* lpPktBase);
|
|
bool PktSearchResultAck (PktBase* lpPktBase);
|
|
bool PktAgentServerIndexAck (PktBase* lpPktBase); // 현재 연결되 있는 서버군 정보
|
|
bool PktSearchAck (PktBase* lpPktBase); // 검색창에서 검색한 정보
|
|
bool PktGetCharacterAck (PktBase* lpPktBase); // 검색한 캐릭터에 대한 정보
|
|
bool PktCloseCharacterAck (PktBase* lpPktBase); // 캐릭터 독점 모드가 완전히 해제되었을 때
|
|
bool PktCreateItemAck (PktBase* lpPktBase); // 아이템 만들기 성공
|
|
bool PktUpdateItemAck (PktBase* lpPktBase); // 아이템 업데이트 성공
|
|
bool PktRemoveItemAck (PktBase* lpPktBase); // 아이템 지우기 성공
|
|
bool PktSyncDeposit (PktBase* lpPktBase); // 디비의 창고 정보가 아닌 현재 운영서버에서 열려 있는 창고 정보를 가져온다
|
|
bool PktItemResetAck (PktBase* lpPktBase); // 아이템 리셋 결과
|
|
bool PktInvenGold (PktBase* lpPktBase);
|
|
bool PktSkillEditAck (PktBase* lpPktBase); // 스킬 정보 변경
|
|
bool PktSearchBlockAck (PktBase* lpPktBase); // 블럭리스트 검색
|
|
bool PktSetZoneList (PktBase* lpPktBase); // 관리자 존리스트 정보 셋
|
|
bool PktChangeNameAck (PktBase* lpPktBase); // 캐릭명 변경
|
|
bool PktDelCharListAck (PktBase* lpPktBase); // 삭제된 캐릭터 목록 보기
|
|
bool PktCharRestoreAck (PktBase* lpPktBase); // 캐릭터 복구 성공
|
|
bool PktAdminStoreInsertAck (PktBase* lpPktBase); // 운영창고 아이템 추가 성공
|
|
bool PktAdminStoreDeleteAck (PktBase* lpPktBase); // 운영창고 아이템 삭제 성공
|
|
bool PktGetAdminStoreItemAck (PktBase* lpPktBase); // 운영창고 아이템 정보 얻기 성공
|
|
bool PktCancelExecuteQuest (PktBase* lpPktBase); // 수행중인 퀘스트 취소
|
|
bool PktDeleteHistoryQuest (PktBase* lpPktBase); // 완료한 퀘스트 취소
|
|
bool PktUserNation (PktBase* lpPktBase); // 계정 국적 얻기
|
|
bool PktStoreTabEdit (PktBase* lpPktBase); // 창고 탭 수 수정
|
|
|
|
bool PktGuildSearchAck (PktBase* lpPktBase); // 길드 검색
|
|
bool PktRequestGuildMemberListAck (PktBase* lpPktBase); // 길드 멤버 리스트
|
|
bool PktGuildRestoreDataListAck (PktBase* lpPktBase); // 해체된 길드 데이터 리스트
|
|
bool PktGuildRight (PktBase* lpPktBase); // 길드내 권한 설정 정보
|
|
bool PktGuildMemberEdit (PktBase* lpPktBase); // 길드 멤버 권한 수정, 축출
|
|
|
|
bool PktFortSearchAck (PktBase* lpPktBase); // 요새 검색
|
|
bool PktMiningCampAck (PktBase* lpPktBase); // 채굴요새 정보 얻기
|
|
bool PktShopCampAck (PktBase* lpPktBase); // 상점요새 정보 얻기
|
|
|
|
bool PktCastleSearchAck (PktBase* lpPktBase); // 성 검색
|
|
bool PktCastleCreatureAck (PktBase* lpPktBase); // 성관련 개체 정보 얻기
|
|
|
|
bool PktItemQtyControlAck (PktBase* lpPktBase); // 아이템 수량 제어 상태
|
|
bool PktUserBillingLogAck (PktBase* lpPktBase); // 사용자 과금 내역
|
|
bool PktGameAdminAck (PktBase* lpPktBase); // 게임 운영자 관리 Ack
|
|
|
|
bool PktConnectAllServerzAck (PktBase* lpPktBase); // 현재 연결되어 있는 중계서버 인덱스 Ack
|
|
bool PktInterestedUserList (PktBase* lpPktBase); // 관심 유저 리스트
|
|
bool PktConnectionChk (PktBase* lpPktBase); // 접속 체크
|
|
bool PktConnectedUserList (PktBase* lpPktBase); // 접속중인 관심유저 계정명
|
|
bool PktDuplicatedItem (PktBase* lpPktBase); // 중복 아이템 관련
|
|
bool PktItemDistributeAck (PktBase* lpPktBase); // 아이템 일괄 지급 Ack
|
|
|
|
bool PktUnifiedCharInfo (PktBase* lpPktBase); // 통합 캐릭터 정보
|
|
bool PktUnifiedGuildInfo (PktBase* lpPktBase); // 통합 길드 정보
|
|
bool PktDetailCharInfo (PktBase* lpPktBase); // 통합 캐릭터 상세 정보
|
|
bool PktShiftToUID (PktBase* lpPktBase); // 계정, UID간 변환 (한국만 사용가능한 기능)
|
|
bool PktAmountOfGold (PktBase* lpPktBase); // 서버군별 골드량 확인
|
|
bool PktGMLogMsg (PktBase* lpPktBase); // GM 로그 메세지
|
|
|
|
bool CharInfoParseFinish (CCharacterDoc::CharDocInfo* lpCharDocInfo);
|
|
void ResultErrModifyCharacter (PktBase* lpPktBase);
|
|
void ResultErrStateSave (PktBase* lpPktBase);
|
|
void AdminStoreItemModify (PktAdminMgr::PktGetAdminStoreItemAck* lpPktAck);
|
|
void AdminStoreGrabMode (PktAdminMgr::PktGetAdminStoreItemAck* lpPktAck);
|
|
|
|
bool PktResultCharInfoTime (PktBase* lpPktAck); // 캐릭터 생성/수정 정보 확인
|
|
|
|
// 캐릭터 정보 셋팅
|
|
CAgentServerParseData Parser; // 캐릭터 정보 분석 클래스
|
|
|
|
// ETC
|
|
CString GetBlockString(unsigned int nIndex);
|
|
CString GetGuildTitleString(unsigned int nIndex);
|
|
CString GetGuildRightString(unsigned int nIndex);
|
|
|
|
bool SucessLogin();
|
|
};
|
|
|
|
#endif |