InMemoryBattleSessionGateway

class InMemoryBattleSessionGateway(sessionFactory: BattleSessionFactory, sessionStore: BattleSessionStore = InMemoryBattleSessionStore()) : BattleSessionGateway

BattleSessionGateway 的内存版实现。

设计意图:

  • 为当前阶段提供最小可用的会话网关实现。

  • 适用于本地测试、单进程运行和 application 层通过 gateway 驱动 session 的场景。

Constructors

Link copied to clipboard
constructor(sessionFactory: BattleSessionFactory, sessionStore: BattleSessionStore = InMemoryBattleSessionStore())

Functions

Link copied to clipboard
open override fun configureSession(sessionId: String, battleKind: BattleType, capturableSideId: String? = null): BattleSessionQuery
Link copied to clipboard
open override fun createSession(sessionId: String, formatId: String): BattleSessionQuery
Link copied to clipboard
open override fun markSessionSettled(sessionId: String): BattleSessionQuery
Link copied to clipboard
open override fun querySession(sessionId: String): BattleSessionQuery
Link copied to clipboard
open override fun registerSide(sessionId: String, sideId: String): BattleSessionQuery
Link copied to clipboard
open override fun registerUnit(sessionId: String, sideId: String, unit: UnitState, active: Boolean = true): BattleSessionQuery
Link copied to clipboard
open override fun resolveTurn(sessionId: String): BattleSessionTurnResult
Link copied to clipboard
open override fun startSession(sessionId: String): BattleSessionQuery
Link copied to clipboard
open override fun submitChoice(sessionId: String, choice: BattleSessionChoice): BattleSessionQuery
Link copied to clipboard
open override fun submitChoices(sessionId: String, choices: List<BattleSessionChoice>): BattleSessionQuery
Link copied to clipboard
open override fun submitReplacementChoice(sessionId: String, sideId: String, incomingUnitId: String): BattleSessionQuery