@@ -27,34 +27,27 @@ public class CtfMode : DeathmatchModeBase
27
27
28
28
[ SerializeField ] private LayerMask m_PlayerMask = default ;
29
29
[ SerializeField ] private float m_CaptureRadius = 3.0f ;
30
- [ SerializeField ] private Color m_BlueColor = new Color ( 0.1764705882f , 0.5098039216f , 0.8509803922f ) ,
31
- m_RedColor = new Color ( 0.8196078431f , 0.2156862745f , 0.1960784314f ) ;
30
+ [ SerializeField ] private Color m_BlueColor = new ( 0.1764705882f , 0.5098039216f , 0.8509803922f ) ,
31
+ m_RedColor = new ( 0.8196078431f , 0.2156862745f , 0.1960784314f ) ;
32
32
[ SerializeField ] private ItemModifierBase [ ] m_PickupItemIds = default ;
33
33
[ SerializeField ] private byte m_HealthPackBonus = 75 ;
34
34
35
35
// private readonly RaycastHit[] m_CachedHits = new RaycastHit[1];
36
36
private readonly Collider [ ] m_CachedColliders = new Collider [ SessionBase . MaxPlayers ] ;
37
- private ( PickUpBehavior [ ] , FlagBehavior [ ] [ ] ) m_Behaviors ;
38
- private VoxelMapNameProperty m_LastMapName ;
39
-
40
- public override void Initialize ( ) => m_LastMapName = new VoxelMapNameProperty ( ) ;
41
37
42
38
private ( PickUpBehavior [ ] , FlagBehavior [ ] [ ] ) GetBehaviors ( SessionContext context )
43
39
{
44
40
MapManager mapManager = context . GetMapManager ( ) ;
45
- StringProperty mapName = mapManager . Map . name ;
46
- if ( m_LastMapName == mapName ) return m_Behaviors ;
47
- m_LastMapName . SetTo ( mapName ) ;
48
- return m_Behaviors = ( mapManager . Models . Values
49
- . Where ( model => model is PickUpBehavior )
50
- . Cast < PickUpBehavior > ( )
51
- . OrderBy ( model => model . Position . GetHashCode ( ) )
52
- . ToArray ( ) ,
53
- mapManager . Models . Values
54
- . Where ( model => model is FlagBehavior )
55
- . GroupBy ( model => model . Container . Require < TeamProperty > ( ) . Value )
56
- . OrderBy ( group => group . Key )
57
- . Select ( group => group . Cast < FlagBehavior > ( ) . ToArray ( ) ) . ToArray ( ) ) ;
41
+ return ( mapManager . Models . Values
42
+ . Where ( model => model is PickUpBehavior )
43
+ . Cast < PickUpBehavior > ( )
44
+ . OrderBy ( model => model . Position . GetHashCode ( ) )
45
+ . ToArray ( ) ,
46
+ mapManager . Models . Values
47
+ . Where ( model => model is FlagBehavior )
48
+ . GroupBy ( model => model . Container . Require < TeamProperty > ( ) . Value )
49
+ . OrderBy ( group => group . Key )
50
+ . Select ( group => group . Cast < FlagBehavior > ( ) . ToArray ( ) ) . ToArray ( ) ) ;
58
51
}
59
52
60
53
public override void BeginModify ( in SessionContext context )
@@ -215,7 +208,7 @@ private void HandlePlayersNearFlag(in SessionContext context, FlagComponent flag
215
208
{
216
209
if ( ! m_CachedColliders [ i ] . TryGetComponent ( out PlayerTrigger playerTrigger ) ) continue ;
217
210
218
- var playerIdInFlag = ( byte ) playerTrigger . PlayerId ;
211
+ var playerIdInFlag = ( byte ) playerTrigger . PlayerId ;
219
212
Container player = context . GetModifyingPlayer ( playerIdInFlag ) ;
220
213
if ( player . Require < TeamProperty > ( ) == flagTeam )
221
214
{
@@ -264,7 +257,7 @@ private static void TryReturnCapturedFlag(byte playerTeam, DualScoresArray score
264
257
for ( var i = 0 ; i < enemyFlags . Length ; i ++ )
265
258
{
266
259
FlagComponent enemyFlag = enemyFlags [ i ] ;
267
- if ( enemyFlag . capturingPlayerId . WithValueEqualTo ( ( byte ) player . PlayerId )
260
+ if ( enemyFlag . capturingPlayerId . WithValueEqualTo ( ( byte ) player . PlayerId )
268
261
&& enemyFlag . captureElapsedTimeUs > TakeFlagDurationUs ) // Test if friendly returning enemy flag
269
262
{
270
263
enemyFlag . Clear ( ) ;
@@ -279,12 +272,12 @@ protected override void SpawnPlayer(in SessionContext context, bool begin = fals
279
272
Container player = context . player ;
280
273
if ( begin )
281
274
{
282
- player . Require < TeamProperty > ( ) . Value = ( byte ) ( context . playerId % 2 ) ;
275
+ player . Require < TeamProperty > ( ) . Value = ( byte ) ( context . playerId % 2 ) ;
283
276
player . ZeroIfWith < StatsComponent > ( ) ;
284
277
}
285
278
player . Require < ByteIdProperty > ( ) . Value = 1 ;
286
279
player . ZeroIfWith < CameraComponent > ( ) ;
287
- if ( player . With ( out HealthProperty health ) ) health . Value = begin ? ( byte ) 0 : DefaultConfig . Active . respawnHealth ;
280
+ if ( player . With ( out HealthProperty health ) ) health . Value = begin ? ( byte ) 0 : DefaultConfig . Active . respawnHealth ;
288
281
player . ZeroIfWith < RespawnTimerProperty > ( ) ;
289
282
if ( player . With ( out InventoryComponent inventory ) )
290
283
{
0 commit comments