Skip to content

マルチプレイP2P実装#200

Open
reigithub wants to merge 16 commits intomainfrom
feature/multiplay-p2p
Open

マルチプレイP2P実装#200
reigithub wants to merge 16 commits intomainfrom
feature/multiplay-p2p

Conversation

@reigithub
Copy link
Copy Markdown
Owner

No description provided.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

🔍 コード品質チェックリスト

68 個の C# ファイルが変更されています。

共通チェック

  • .editorconfig に従ったフォーマット
  • 命名規則の遵守(_ プレフィックス、PascalCase)
  • 不要な using の削除

Unity プロジェクト (Game.Client)

  • Unity Analyzer の警告対応
  • GetComponent のキャッシュ(UNT0006)
  • null チェックに == 演算子を使用(UNT0002)
  • Camera.main のキャッシュ(UNT0030)
  • CompareTag の使用(UNT0015)

サーバープロジェクト (Game.Server)

  • ConfigureAwait(false) の使用
  • 例外処理の確認
  • ログ出力の確認

共有ライブラリ (Game.Shared)

  • Unity/Server 両方で動作することを確認
  • Unity 依存コードが含まれていないことを確認

📖 詳細は CODE_QUALITY_SETUP.md を参照してください。

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

Summary

Summary
Generated on: 05/08/2026 - 00:08:35
Parser: MultiReport (6x OpenCover)
Assemblies: 3
Classes: 189
Files: 233
Line coverage: 28.2% (2919 of 10350)
Covered lines: 2919
Uncovered lines: 7431
Coverable lines: 10350
Total lines: 22344
Branch coverage: 20.5% (599 of 2909)
Covered branches: 599
Total branches: 2909
Method coverage: Feature is only available for sponsors

Coverage

Game.Realtime - 40.1%
Name Line Branch
Game.Realtime 40.1% 45.1%
Game.Realtime.Extensions.RealtimeServiceExtensions 0%
Game.Realtime.Extensions.ServiceContextExtensions 0% 0%
Game.Realtime.Filters.JwtAuthenticationFilter 0% 0%
Game.Realtime.Filters.JwtAuthenticationHubFilter 58.8% 100%
Game.Realtime.Filters.ValidationExceptionFilter 50%
Game.Realtime.Filters.ValidationExceptionHubFilter 50%
Game.Realtime.Hubs.LobbyHub 26.2% 24%
Game.Realtime.Hubs.MatchmakingHub 13.3% 0%
Game.Realtime.Program 0% 0%
Game.Realtime.Services.GameModeConfig 100%
Game.Realtime.Services.GameServerSettings 0%
Game.Realtime.Services.LobbyDataService 94.4% 78.9%
Game.Realtime.Services.LobbyService 9.4% 0%
Game.Realtime.Services.MatchmakingConfiguration 100%
Game.Realtime.Services.MatchmakingProcessor 73.2% 66.1%
Game.Realtime.Services.MatchmakingQueueService 3.5%
Game.Realtime.Services.MatchmakingService 11.9% 0%
Game.Realtime.Services.UnityServerApiClient 0% 0%
Game.Realtime.Services.UnityServerConfiguration 100%
Game.Realtime.Validation.LobbyValidator 83.7% 87.5%
Game.Realtime.Validation.MatchmakingValidator 100% 100%
Game.Server - 30.8%
Name Line Branch
Game.Server 30.8% 22.6%
Game.Server.Caching.SortedSetEntry 0%
Game.Server.Configuration.AuthSettings 100%
Game.Server.Configuration.ChatSettings 100%
Game.Server.Configuration.DatabaseSettings 0%
Game.Server.Configuration.JwtSettings 100%
Game.Server.Configuration.MasterDataSettings 0%
Game.Server.Configuration.RankingCacheSettings 100%
Game.Server.Configuration.RequestSigningSettings 100%
Game.Server.Configuration.ResendSettings 0%
Game.Server.Configuration.UnityServerSettings 100%
Game.Server.Controllers.AuthController 92.1% 62.5%
Game.Server.Controllers.ChatRoomController 62.9% 42.8%
Game.Server.Controllers.RankingsController 94.1% 75%
Game.Server.Controllers.SurvivorScoresController 90.4% 66.6%
Game.Server.Controllers.UnityServerController 0% 0%
Game.Server.Controllers.UsersController 88.2% 50%
Game.Server.Database.DbConnectionFactory 0% 0%
Game.Server.Database.DbSession 89.1% 70%
Game.Server.Database.DbTransactionScope 100% 100%
Game.Server.Database.MigrationRunnerFactory 43.9% 0%
Game.Server.Database.SchemaVersionTableMetaData 83.3%
Game.Server.Dto.Responses.ApiError 100%
Game.Server.Dto.Responses.Result`2 100% 100%
Game.Server.Extensions.ServiceCollectionExtensions 97.3% 50%
Game.Server.Extensions.UserIdGenerator 50%
Game.Server.Extensions.WebApplicationExtensions 100%
Game.Server.Filters.ChatValidationFilter 100%
Game.Server.Health.PostgresHealthCheck 100%
Game.Server.Hubs.ChatHub 73.6% 50%
Game.Server.Infrastructure.MessagePackInputFormatter 33.3% 0%
Game.Server.Infrastructure.MessagePackOutputFormatter 40% 0%
Game.Server.MasterData.AudioMaster 0%
Game.Server.MasterData.AudioPlayTagsMaster 0%
Game.Server.MasterData.DatabaseBuilder 12.5%
Game.Server.MasterData.ImmutableBuilder 0%
Game.Server.MasterData.MasterMemoryResolver 100% 100%
Game.Server.MasterData.MasterMemoryResolverGetFormatterHelper 59% 18.1%
Game.Server.MasterData.MemoryDatabase 16.4% 1.1%
Game.Server.MasterData.ScoreTimeAttackEnemyMaster 0%
Game.Server.MasterData.ScoreTimeAttackEnemySpawnMaster 0%
Game.Server.MasterData.ScoreTimeAttackPlayerMaster 0%
Game.Server.MasterData.ScoreTimeAttackStageItemMaster 0%
Game.Server.MasterData.ScoreTimeAttackStageItemSpawnMaster 0%
Game.Server.MasterData.ScoreTimeAttackStageMaster 0%
Game.Server.MasterData.ScoreTimeAttackStageTotalResultMaster 0%
Game.Server.MasterData.SurvivorEnemyMaster 0%
Game.Server.MasterData.SurvivorItemDropMaster 0%
Game.Server.MasterData.SurvivorItemMaster 0%
Game.Server.MasterData.SurvivorPlayerLevelMaster 0%
Game.Server.MasterData.SurvivorPlayerMaster 0%
Game.Server.MasterData.SurvivorStageMaster 100%
Game.Server.MasterData.SurvivorStageWaveEnemyMaster 0%
Game.Server.MasterData.SurvivorStageWaveMaster 100%
Game.Server.MasterData.SurvivorWeaponLevelMaster 0%
Game.Server.MasterData.SurvivorWeaponMaster 0%
Game.Server.MasterData.Tables.AudioMasterTable 9.6% 0%
Game.Server.MasterData.Tables.AudioPlayTagsMasterTable 10% 0%
Game.Server.MasterData.Tables.ScoreTimeAttackEnemyMasterTable 6.5% 0%
Game.Server.MasterData.Tables.ScoreTimeAttackEnemySpawnMasterTable 8.9% 0%
Game.Server.MasterData.Tables.ScoreTimeAttackPlayerMasterTable 6.1% 0%
Game.Server.MasterData.Tables.ScoreTimeAttackStageItemMasterTable 9.4% 0%
Game.Server.MasterData.Tables.ScoreTimeAttackStageItemSpawnMasterTable 8.9% 0%
Game.Server.MasterData.Tables.ScoreTimeAttackStageMasterTable 8.9% 0%
Game.Server.MasterData.Tables.ScoreTimeAttackStageTotalResultMasterTable 6.6% 0%
Game.Server.MasterData.Tables.SurvivorEnemyMasterTable 7.6% 0%
Game.Server.MasterData.Tables.SurvivorItemDropMasterTable 9.8% 0%
Game.Server.MasterData.Tables.SurvivorItemMasterTable 8.9% 0%
Game.Server.MasterData.Tables.SurvivorPlayerLevelMasterTable 7.8%
Game.Server.MasterData.Tables.SurvivorPlayerMasterTable 7.1% 0%
Game.Server.MasterData.Tables.SurvivorStageMasterTable 27% 43.7%
Game.Server.MasterData.Tables.SurvivorStageWaveEnemyMasterTable 8.7% 0%
Game.Server.MasterData.Tables.SurvivorStageWaveMasterTable 10.1% 0%
Game.Server.MasterData.Tables.SurvivorWeaponLevelMasterTable 8.1% 0%
Game.Server.MasterData.Tables.SurvivorWeaponMasterTable 9% 0%
Game.Server.Middleware.ExceptionHandlingMiddleware 22.4% 0%
Game.Server.Middleware.RequestSigningMiddleware 52.6% 44.1%
Game.Server.Middleware.RequestSigningPolicy 100% 50%
Game.Server.Middleware.RequestSigningPolicyValidator 41.4% 47.3%
Game.Server.Program 93.2% 90%
Game.Server.Repositories.AuthRepository 84.9%
Game.Server.Repositories.RankingRepository 97.5% 50%
Game.Server.Repositories.SurvivorScoreRepository 61.3% 0%
Game.Server.Repositories.UserRepository 79.4%
Game.Server.Services.AuthService 96.5% 87.5%
Game.Server.Services.Chat.ChatMessageService 86.7%
Game.Server.Services.Chat.ChatPermissionValidator 100% 100%
Game.Server.Services.Chat.ChatRoomDataService 81.8% 50%
Game.Server.Services.Chat.Exceptions.ChatNotFoundException 100%
Game.Server.Services.Chat.Exceptions.ChatPermissionException 100%
Game.Server.Services.Interfaces.DsInfo 0%
Game.Server.Services.MasterDataService 0% 0%
Game.Server.Services.RankingService 87.5% 57.6%
Game.Server.Services.ResendEmailService 0%
Game.Server.Services.SurvivorRankingCacheService 50.6%
Game.Server.Services.SurvivorScoreService 96.3% 75%
Game.Server.Services.UnityServerAuthService 0% 0%
Game.Server.Services.UnityServerRegistryService 0%
Game.Server.Services.UnityServerSessionService 0% 0%
Game.Server.Services.UserService 92.5% 60%
Game.Server.Tables.SurvivorScore 100%
Game.Server.Tables.UserExternalIdentity 0%
Game.Server.Tables.UserInfo 100%
Game.Server.Validation.ChatInputValidator 100% 100%
Game.Server.Validation.PasswordValidator 100% 100%
Game.Server.Validation.SurvivorValidator 94.1% 91.6%
MasterMemory.MasterMemoryGeneratorOptionsAttribute 0%
MessagePack.GeneratedMessagePackResolver 12.9% 7.5%
System.Text.RegularExpressions.Generated 100% 96.1%
Game.Shared - 11%
Name Line Branch
Game.Shared 11% 3.4%
Game.Library.Shared.Dto.AccountLinkResponse 100%
Game.Library.Shared.Dto.ApiErrorResponse 100%
Game.Library.Shared.Dto.ChatMessage 100%
Game.Library.Shared.Dto.ChatRoomInfo 100%
Game.Library.Shared.Dto.ChatRoomMemberInfo 100%
Game.Library.Shared.Dto.ChatRoomMembersResponse 100%
Game.Library.Shared.Dto.CreateChatRoomRequest 100%
Game.Library.Shared.Dto.CreateChatRoomResponse 100%
Game.Library.Shared.Dto.CreateLobbyRequest 85.7%
Game.Library.Shared.Dto.CreateLobbyResponse 100%
Game.Library.Shared.Dto.EmailLoginRequest 100%
Game.Library.Shared.Dto.EnemyStateSnapshot 0%
Game.Library.Shared.Dto.ForgotPasswordRequest 100%
Game.Library.Shared.Dto.GameResultSnapshot 0%
Game.Library.Shared.Dto.GuestLoginRequest 100%
Game.Library.Shared.Dto.InviteMemberRequest 100%
Game.Library.Shared.Dto.LinkEmailRequest 100%
Game.Library.Shared.Dto.LobbyInfo 100%
Game.Library.Shared.Dto.LobbyPlayerInfo 100%
Game.Library.Shared.Dto.LoginRequest 100%
Game.Library.Shared.Dto.LoginResponse 100%
Game.Library.Shared.Dto.MasterDataVersionDto 0%
Game.Library.Shared.Dto.MatchmakingRequest 100%
Game.Library.Shared.Dto.MatchmakingResponse 100%
Game.Library.Shared.Dto.MatchStartInfo 0%
Game.Library.Shared.Dto.MessageResponse 100%
Game.Library.Shared.Dto.PlayerResultSnapshot 0%
Game.Library.Shared.Dto.PlayerStateSnapshot 0%
Game.Library.Shared.Dto.RankingEntryDto 100%
Game.Library.Shared.Dto.RankingResponse 100%
Game.Library.Shared.Dto.RefreshTokenRequest 100%
Game.Library.Shared.Dto.ResetPasswordRequest 100%
Game.Library.Shared.Dto.ScoreSubmitDto 100%
Game.Library.Shared.Dto.SetPermissionsRequest 0%
Game.Library.Shared.Dto.SuccessResponse 100%
Game.Library.Shared.Dto.SurvivorScoreHistoryEntry 100%
Game.Library.Shared.Dto.SurvivorScoreSubmitResponse 100%
Game.Library.Shared.Dto.TransferPasswordResponse 100%
Game.Library.Shared.Dto.UnityServerAuthResponse 75%
Game.Library.Shared.Dto.UnityServerDeregisterRequest 0%
Game.Library.Shared.Dto.UnityServerHealthResponse 0%
Game.Library.Shared.Dto.UnityServerHeartbeatRequest 0%
Game.Library.Shared.Dto.UnityServerRegistrationRequest 0%
Game.Library.Shared.Dto.UnityServerSessionEndedRequest 0%
Game.Library.Shared.Dto.UnityServerSessionRequest 0%
Game.Library.Shared.Dto.UnityServerSessionResponse 0%
Game.Library.Shared.Dto.UpdateUserRequest 100%
Game.Library.Shared.Dto.UserDto 0%
Game.Library.Shared.Dto.UserResponse 100%
Game.Library.Shared.Dto.VerifyEmailRequest 100%
Game.Library.Shared.Dto.WeaponUpgradeOptionSnapshot 0%
Game.Library.Shared.IState 0%
Game.Library.Shared.Realtime.Hubs.MatchResult 100%
Game.Library.Shared.RequestSigning.HmacRequestSigner 88.8% 65%
Game.Library.Shared.RequestSigning.SessionTokenHelper 92.8% 85.7%
Game.Library.Shared.RequestSigning.SessionTokenParseResult 100%
Game.Library.Shared.State`2 0%
Game.Library.Shared.StateMachine`1 0%
Game.Library.Shared.StateMachine`2 0% 0%
MessagePack.GeneratedMessagePackResolver 0% 0%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant