/// <summary> /// 指定した部屋の詳細な情報を取得する。 /// </summary> private void RequestedGetRoomDetailData(NetworkConnection connection, GetRoomDetailData.Request request) { var msg = new GetRoomDetailData.Response(); var id = connection.connectionId; try { // プレイヤーが存在しているかどうかチェック if (!playerDataHolder.ExistPlayerData(id)) { Debug.LogWarningFormat("[RequestedGetRoomDetailData] 存在しないプレイヤーが指定されました\nid : {0}", id); msg.Result = GetRoomDetailData.Result.FailureNonExistPlayer; connection.Send(msg); return; } // 部屋が存在しているかどうかチェック if (!roomDataHolder.ExistRoomByGuid(request.RoomGuid)) { Debug.LogWarningFormat("[RequestedGetRoomDetailData] 存在しない部屋が指定されました\nid : {0}", id); msg.Result = GetRoomDetailData.Result.FailureNonExistRoom; connection.Send(msg); return; } var roomData = roomDataHolder.GetRoomDataByContainPlayer(id); msg.Result = GetRoomDetailData.Result.Succeed; msg.IsHost = id == roomData.HostConnectionId; msg.RoomData = roomData.CreateRoomDetailData(); msg.GameTime = roomData.CreateGameTimeSendData(); msg.WolfNum = roomData.CreateWolfNumSendData(); connection.Send(msg); } catch (Exception e) { Debug.LogErrorFormat("[RequestedGetRoomDetailData] 予期せぬエラーが発生しました\nid : {0}", id); Debug.LogException(e); msg.Result = GetRoomDetailData.Result.FailureUnknown; msg.Exception = e; connection.Send(msg); } }
/// <summary> /// 指定した部屋の詳細な情報を取得する。 /// </summary> public void RequestGetRoomDetailData(GetRoomDetailData.Request request) { NetworkClient.connection.Send(request); }