feat : 보스 응답 메시지 문제 수정
This commit is contained in:
@@ -4,10 +4,39 @@ namespace MMOserver.Api;
|
||||
// API 응답(BossRaidAccessResponse)을 직접 노출하지 않고 이걸로 매핑해서 반환
|
||||
public sealed class BossRaidResult
|
||||
{
|
||||
public int RoomId { get; init; }
|
||||
public string SessionName { get; init; } = string.Empty;
|
||||
public int BossId { get; init; }
|
||||
public List<string> Players { get; init; } = new();
|
||||
public string Status { get; init; } = string.Empty;
|
||||
public string? Tokens { get; init; }
|
||||
public int RoomId
|
||||
{
|
||||
get;
|
||||
init;
|
||||
}
|
||||
|
||||
public string SessionName
|
||||
{
|
||||
get;
|
||||
init;
|
||||
} = string.Empty;
|
||||
|
||||
public int BossId
|
||||
{
|
||||
get;
|
||||
init;
|
||||
}
|
||||
|
||||
public List<string> Players
|
||||
{
|
||||
get;
|
||||
init;
|
||||
} = new();
|
||||
|
||||
public string Status
|
||||
{
|
||||
get;
|
||||
init;
|
||||
} = string.Empty;
|
||||
|
||||
public Dictionary<string, string> Tokens
|
||||
{
|
||||
get;
|
||||
init;
|
||||
} = new();
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ public class RestApi : Singleton<RestApi>
|
||||
{
|
||||
try
|
||||
{
|
||||
HttpResponseMessage response = await httpClient.PostAsJsonAsync(url, new { usernames = userNames, bossId });
|
||||
HttpResponseMessage response = await httpClient.PostAsJsonAsync(url, new { usernames = userNames, bossId = bossId });
|
||||
|
||||
// 401: API 키 인증 실패
|
||||
if (response.StatusCode == HttpStatusCode.Unauthorized)
|
||||
@@ -166,10 +166,10 @@ public class RestApi : Singleton<RestApi>
|
||||
}
|
||||
|
||||
[JsonPropertyName("tokens")]
|
||||
public string? Tokens
|
||||
public Dictionary<string, string> Tokens
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
} = new();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1144,10 +1144,16 @@ public class GameServer : ServerBase
|
||||
SendTo(memberPeer, PacketSerializer.Serialize((ushort)PacketCode.CHANGE_MAP, response));
|
||||
|
||||
// 모두에게 레이드로 이동 (할당된 실제 레이드 맵 ID 전달)
|
||||
SendTo(peer,
|
||||
PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID,
|
||||
new IntoBossRaidPacket
|
||||
{ RaidId = assignedRaidMapId, IsSuccess = true, Session = result.SessionName, Token = result.Tokens }));
|
||||
if (result.Tokens.ContainsKey(memberPlayer.Nickname.Trim()))
|
||||
{
|
||||
SendTo(peer,
|
||||
PacketSerializer.Serialize((ushort)PacketCode.INTO_BOSS_RAID,
|
||||
new IntoBossRaidPacket
|
||||
{
|
||||
RaidId = assignedRaidMapId, IsSuccess = true, Session = result.SessionName,
|
||||
Token = result.Tokens[memberPlayer.Nickname.Trim()]
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
Log.Debug("[GameServer] INTO_BOSS_RAID HashKey={Key} PartyId={PartyId} AssignedRaidMapId={RaidId}", hashKey, party.PartyId,
|
||||
|
||||
Reference in New Issue
Block a user