refactor(battle-node): replace int IsSelf with CardOwner enum on mined-token tuples
MineAddOps/MineChoicePicks/MineCopyTokens return types and all extraction casts changed from int to CardOwner. The 4 routing comparisons in BattleSessionState now read isSelf == CardOwner.Self instead of isSelf == 1. No wire or behavioral change — CardOwner was already in use on the wire-facing side (OppoTargetEntry, UnapprovedCardEntry); this extends it to the internal mining path so the bare-int transpose risk is gone. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using SVSim.BattleNode.Lifecycle;
|
||||
using SVSim.BattleNode.Protocol;
|
||||
using SVSim.BattleNode.Sessions;
|
||||
|
||||
namespace SVSim.BattleNode.Sessions.Dispatch;
|
||||
@@ -84,7 +85,7 @@ internal sealed class BattleSessionState
|
||||
public void RecordTokensFrom(IBattleParticipant from, IBattleParticipant other, object? orderList)
|
||||
{
|
||||
foreach (var (idx, cardId, isSelf) in KnownListBuilder.MineAddOps(orderList))
|
||||
RecordToken(isSelf == 1 ? from : other, idx, cardId);
|
||||
RecordToken(isSelf == CardOwner.Self ? from : other, idx, cardId);
|
||||
}
|
||||
|
||||
/// <summary>Mine + record choice/Discover-token picks (<see cref="KnownListBuilder.MineChoicePicks"/>)
|
||||
@@ -95,7 +96,7 @@ internal sealed class BattleSessionState
|
||||
public void RecordChoicePicksFrom(IBattleParticipant from, IBattleParticipant other, object? orderList, object? keyAction)
|
||||
{
|
||||
foreach (var (idx, cardId, isSelf) in KnownListBuilder.MineChoicePicks(orderList, keyAction))
|
||||
RecordToken(isSelf == 1 ? from : other, idx, cardId);
|
||||
RecordToken(isSelf == CardOwner.Self ? from : other, idx, cardId);
|
||||
}
|
||||
|
||||
/// <summary>Mine + record copy/clone-token identities (<see cref="KnownListBuilder.MineCopyTokens"/>)
|
||||
@@ -112,6 +113,6 @@ internal sealed class BattleSessionState
|
||||
var selfMap = GetOrSeedDeckMap(from);
|
||||
var otherMap = GetOrSeedDeckMap(other);
|
||||
foreach (var (idx, cardId, isSelf) in KnownListBuilder.MineCopyTokens(orderList, selfMap, otherMap))
|
||||
RecordToken(isSelf == 1 ? from : other, idx, cardId);
|
||||
RecordToken(isSelf == CardOwner.Self ? from : other, idx, cardId);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user