init
This commit is contained in:
commit
b887f15662
21 changed files with 1038 additions and 0 deletions
83
include/Packet.h
Normal file
83
include/Packet.h
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
|
||||
// 표준 헤더 크기: 2바이트 크기 + 2바이트 ID
|
||||
#pragma pack(push, 1)
|
||||
struct PacketHeader {
|
||||
uint16_t size;
|
||||
uint16_t id;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
// 처리를 쉽게 하기 위한 단순 패킷 래퍼
|
||||
struct Packet {
|
||||
PacketHeader header;
|
||||
// Payload 데이터 (벡터 또는 문자열)
|
||||
std::vector<uint8_t> payload;
|
||||
};
|
||||
|
||||
enum class PacketID : uint16_t {
|
||||
Ping = 1,
|
||||
// 로그인 요청 (PKT_CS_Login)
|
||||
Login = 10,
|
||||
Chat = 20,
|
||||
|
||||
// 검 키우기 관련 패킷
|
||||
// 강화 요청
|
||||
CS_UpgradeSword = 30,
|
||||
// 강화 결과 응답
|
||||
SC_UpgradeResult = 31,
|
||||
// 판매 요청
|
||||
CS_SellSword = 35,
|
||||
// 판매 결과 응답
|
||||
SC_SellResult = 36,
|
||||
// 랭킹 조회 요청
|
||||
CS_RankingRequest = 40,
|
||||
// 랭킹 리스트 응답
|
||||
SC_RankingList = 41,
|
||||
};
|
||||
|
||||
// 게임 규칙 관련 상수
|
||||
namespace GameConfig {
|
||||
const uint32_t MAX_SWORD_LEVEL = 20;
|
||||
const uint64_t INITIAL_GOLD = 10000;
|
||||
} // namespace GameConfig
|
||||
|
||||
// 고정 크기 데이터 전송을 위한 구조체 정의
|
||||
#pragma pack(push, 1)
|
||||
struct PKT_CS_Login {
|
||||
// 유저 닉네임 (최대 32자)
|
||||
char nickname[32];
|
||||
};
|
||||
|
||||
struct PKT_SC_UpgradeResult {
|
||||
// 0: 파괴, 1: 성공, 2: 실패
|
||||
uint8_t result;
|
||||
// 현재 강화 레벨
|
||||
uint32_t currentLevel;
|
||||
// 현재 보유 골드
|
||||
uint64_t currentGold;
|
||||
};
|
||||
|
||||
struct PKT_SC_SellResult {
|
||||
// 판매 후 획득 골드
|
||||
uint64_t earnedGold;
|
||||
// 현재 총 골드
|
||||
uint64_t totalGold;
|
||||
};
|
||||
|
||||
struct RankingEntry {
|
||||
// 유저 이름 (최대 32자)
|
||||
char username[32];
|
||||
// 검 레벨
|
||||
uint32_t swordLevel;
|
||||
};
|
||||
|
||||
struct PKT_SC_RankingList {
|
||||
// 랭킹 리스트 개수
|
||||
uint32_t count;
|
||||
// 이후 RankingEntry[count] 만큼 데이터가 따라옴
|
||||
};
|
||||
#pragma pack(pop)
|
||||
Loading…
Add table
Add a link
Reference in a new issue