@@ -119,6 +119,7 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
119
119
var builder = new StringBuilder ( 512 ) ;
120
120
121
121
// 送信するメッセージを生成
122
+ var previous = - 1 ;
122
123
foreach ( var admin in admins )
123
124
{
124
125
var entry = admin . Value ;
@@ -131,6 +132,24 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
131
132
{
132
133
builder . Append ( ImpostorMark ) ;
133
134
}
135
+ // 色分けは無人をスキップしない場合のみ
136
+ if ( ! skipUnoccupiedRooms )
137
+ {
138
+ switch ( previous , entry . TotalPlayers )
139
+ {
140
+ // 1部屋目で今の部屋が無人の場合
141
+ case ( - 1 , 0 ) :
142
+ // 前の部屋が有人で今の部屋が無人の場合
143
+ case ( > 0 , 0 ) :
144
+ // グレー
145
+ builder . Append ( GrayTag ) ;
146
+ break ;
147
+ // 前の部屋が無人で今の部屋が有人の場合
148
+ case ( 0 , > 0 ) :
149
+ builder . Append ( ColorCloseTag ) ;
150
+ break ;
151
+ }
152
+ }
134
153
// 部屋名と合計プレイヤー数を表記
135
154
builder . Append ( DestroyableSingleton < TranslationController > . Instance . GetString ( entry . Room ) ) ;
136
155
builder . Append ( ": " ) ;
@@ -142,6 +161,7 @@ public override void OnReportDeadBody(PlayerControl reporter, GameData.PlayerInf
142
161
builder . Append ( '×' ) . Append ( entry . NumDeadBodies ) . Append ( ')' ) ;
143
162
}
144
163
builder . Append ( '\n ' ) ;
164
+ previous = entry . TotalPlayers ;
145
165
}
146
166
147
167
// 送信
@@ -269,6 +289,8 @@ private void Inherit()
269
289
private static readonly string ImpostorMark = "★" . Color ( Palette . ImpostorRed ) ;
270
290
/// <summary>相方がキルしたときに名前の下に通知を表示する長さ</summary>
271
291
private static readonly TimeSpan NotifyDuration = TimeSpan . FromSeconds ( 10 ) ;
292
+ private const string GrayTag = "<color=#777>" ;
293
+ private const string ColorCloseTag = "</color>" ;
272
294
273
295
private readonly struct MurderNotify
274
296
{
0 commit comments