refactor: 복사 코드 함수화

This commit is contained in:
bumpsoo 2026-02-05 13:47:39 +00:00
parent 1a7a4b7466
commit 2d35fd6c8b
3 changed files with 29 additions and 48 deletions

View file

@ -13,9 +13,7 @@ PacketHandler::HandlePacket(std::shared_ptr<Session> session,
switch (static_cast<PacketID>(packet.header.id)) {
case PacketID::Ping: {
Logger::Log("Ping 수신됨");
session->Send(std::span<const uint8_t>(
reinterpret_cast<const uint8_t *>(&packet.header),
sizeof(PacketHeader)));
session->SendPacket(PacketID::Ping);
} break;
case PacketID::CS_Login: {
@ -40,18 +38,7 @@ PacketHandler::HandlePacket(std::shared_ptr<Session> session,
if (!SessionManager::GetInstance().TryJoin(session, userData.nickname)) {
Logger::Log("중복 로그인 거부: ", nickname);
loginResult.result = 0;
PacketHeader header;
header.id = static_cast<uint16_t>(PacketID::SC_LoginResult);
header.size = sizeof(PKT_SC_LoginResult);
std::vector<uint8_t> buffer(sizeof(PacketHeader) +
sizeof(PKT_SC_LoginResult));
std::memcpy(buffer.data(), &header, sizeof(PacketHeader));
std::memcpy(buffer.data() + sizeof(PacketHeader), &loginResult,
sizeof(PKT_SC_LoginResult));
session->Send(buffer);
session->SendPacket(PacketID::SC_LoginResult, loginResult);
co_return;
}
@ -60,18 +47,7 @@ PacketHandler::HandlePacket(std::shared_ptr<Session> session,
", Level: ", session->GetSwordLevel(), ")");
loginResult.result = 1;
PacketHeader header;
header.id = static_cast<uint16_t>(PacketID::SC_LoginResult);
header.size = sizeof(PKT_SC_LoginResult);
std::vector<uint8_t> buffer(sizeof(PacketHeader) +
sizeof(PKT_SC_LoginResult));
std::memcpy(buffer.data(), &header, sizeof(PacketHeader));
std::memcpy(buffer.data() + sizeof(PacketHeader), &loginResult,
sizeof(PKT_SC_LoginResult));
session->Send(buffer);
session->SendPacket(PacketID::SC_LoginResult, loginResult);
} break;
case PacketID::CS_UpgradeSword: {
@ -104,16 +80,7 @@ PacketHandler::HandlePacket(std::shared_ptr<Session> session,
res.currentGold = session->GetGold();
// 결과 패킷 전송
PacketHeader header;
header.id = static_cast<uint16_t>(PacketID::SC_UpgradeResult);
header.size = sizeof(PKT_SC_UpgradeResult);
std::vector<uint8_t> buffer(sizeof(PacketHeader) +
sizeof(PKT_SC_UpgradeResult));
std::memcpy(buffer.data(), &header, sizeof(PacketHeader));
std::memcpy(buffer.data() + sizeof(PacketHeader), &res,
sizeof(PKT_SC_UpgradeResult));
session->Send(buffer);
session->SendPacket(PacketID::SC_UpgradeResult, res);
// 브로드캐스트
if (currentGold >= cost) {
@ -158,17 +125,7 @@ PacketHandler::HandlePacket(std::shared_ptr<Session> session,
res.earnedGold = price;
res.totalGold = newGold;
PacketHeader header;
header.id = static_cast<uint16_t>(PacketID::SC_SellResult);
header.size = sizeof(PKT_SC_SellResult);
std::vector<uint8_t> buffer(sizeof(PacketHeader) +
sizeof(PKT_SC_SellResult));
std::memcpy(buffer.data(), &header, sizeof(PacketHeader));
std::memcpy(buffer.data() + sizeof(PacketHeader), &res,
sizeof(PKT_SC_SellResult));
session->Send(buffer);
session->SendPacket(PacketID::SC_SellResult, res);
Logger::Log("검 판매 [", session->GetNickname(), "]: ", price,
" 골드 획득");