Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ClientGame

Hierarchy

Index

Constructors

Properties

Methods

Constructors

constructor

Properties

Private animator

animator: Animator

Protected attackDamageOrder

attackDamageOrder: Map<string, Unit[]> | null = null

Protected attackers

attackers: Unit[]

Protected blockers

blockers: [Unit, Unit][]

Protected board

board: Board

Protected cardPool

cardPool: Map<string, Card>

Protected client

client: boolean = false

Protected crypt

crypt: [Card[], Card[]]

Protected currentChoices

currentChoices: (null | Choice)[] = [null, null]

Protected events

events: GameSyncEvent[]

Protected format

format: GameFormat

gameEvents

gameEvents: GameEventSystem

Protected generatedCardId

generatedCardId: number = 1

id

id: string = ""

lastCardsPlayed

lastCardsPlayed: string[] = []

Protected lastPhase

lastPhase: GamePhase = GamePhase.Play1

Protected lastPlayedCardName

lastPlayedCardName: string = "None"

Protected log

log: Log | undefined

Protected name

name: string

Private nextExpectedEvent

nextExpectedEvent: number = 0

Protected orderableAttacks

orderableAttacks: Map<string, Unit[]> | null = null

Private owningPlayer

owningPlayer: number = 0

Protected phase

phase: GamePhase = GamePhase.Play1

Protected players

players: Player[] = []

promptCardChoice

promptCardChoice: function

Type declaration

    • (player: number, choices: Card[], min: number, max: number, callback: function | null, message: string, evaluator: ChoiceHeuristic): void
    • Parameters

      • player: number
      • choices: Card[]
      • min: number
      • max: number
      • callback: function | null
      • message: string
      • evaluator: ChoiceHeuristic

      Returns void

Protected queryData

queryData: Card[] | null = null

Protected Optional recivedChoice

recivedChoice: undefined | object

Protected runGameAction

runGameAction: GameActionRunner

Private shouldAnimate

shouldAnimate: boolean = false

Private syncSystem

syncSystem: SyncEventSystem = new SyncEventSystem(this)

Protected turn

turn: number = 0

Protected turnNum

turnNum: number

Protected winner

winner: number = -1

Methods

addCardToPool

  • addCardToPool(card: Card): void

Protected addDeathHandlers

  • addDeathHandlers(): void

addEnchantment

  • addEnchantment(diesUponEntering: boolean, enchantment: Enchantment): void

addGameEvent

Private addSyncHandlers

  • addSyncHandlers(): void
  • Returns void

addToCrypt

  • addToCrypt(card: Card): void
  • Parameters

    Returns void

addUnit

  • addUnit(diesUponEntering: boolean, unit: Unit): void
  • Parameters

    • diesUponEntering: boolean
    • unit: Unit

    Returns void

Protected blockersExist

  • blockersExist(): boolean

canAttackWith

  • canAttackWith(unit: Unit): boolean
  • Parameters

    Returns boolean

canMakeChoice

  • canMakeChoice(player: number, cards: Card[]): boolean
  • Parameters

    • player: number
    • cards: Card[]

    Returns boolean

canModifyEnchantment

  • canModifyEnchantment(enchantment: Enchantment): boolean
  • Parameters

    Returns boolean

canPlayCard

  • canPlayCard(card: Card, targets?: Unit[], host?: Unit | null): boolean
  • Checks if the player controlling this game can play a given card with given targets

    Parameters

    • card: Card
    • Default value targets: Unit[] = []
    • Default value host: Unit | null = null

    Returns boolean

canPlayResource

  • canPlayResource(): boolean
  • Returns boolean

canTakeAction

  • canTakeAction(): boolean

Protected changePhase

changeUnitOwner

  • changeUnitOwner(unit: Unit): void

declareAttacker

  • declareAttacker(unit: Unit): boolean
  • Parameters

    Returns boolean

declareBlocker

  • declareBlocker(blocker: Unit, attacker: Unit | null): boolean
  • Parameters

    Returns boolean

deferChoice

  • deferChoice(player: number, choices: Card[], min: number, max: number, callback: function | null): void
  • Parameters

    • player: number
    • choices: Card[]
    • min: number
    • max: number
    • callback: function | null

    Returns void

enableAnimations

  • enableAnimations(): void
  • Returns void

Protected endGame

  • endGame(winningPlayer: number, quit?: boolean): void
  • Parameters

    • winningPlayer: number
    • Default value quit: boolean = false

    Returns void

Protected generateDamageDistribution

  • generateDamageDistribution(): Map<string, Unit[]>

getActivePlayer

  • getActivePlayer(): number

getAttackers

  • getAttackers(): Unit[]

getBlockers

  • getBlockers(): Unit[]

getBoard

getCardById

  • getCardById(id: string): Card

getCrypt

  • getCrypt(player: number): Card[]
  • Parameters

    • player: number

    Returns Card[]

getCurrentPlayer

getCurrentPlayerUnits

  • getCurrentPlayerUnits(): Unit[]

getEvents

getExpectedCards

  • getExpectedCards(): number
  • Returns number

getLog

  • getLog(): undefined | Log
  • Returns undefined | Log

getModableDamageDistributions

  • getModableDamageDistributions(): Map<string, Unit[]>

getName

  • getName(): string
  • Returns string

getNonturnPlayer

  • getNonturnPlayer(): number

getOtherPlayerNumber

  • getOtherPlayerNumber(playerNum: number): number

getPastEvents

getPhase

getPlayer

  • getPlayer(playerNum: number): Player
  • Parameters

    • playerNum: number

    Returns Player

getPlayerActions

Protected getPlayerCardById

  • getPlayerCardById(player: Player, id: string): Card | undefined

Protected getPlayerUnitById

  • getPlayerUnitById(playerNo: number, id: string): Unit

getUnitById

  • getUnitById(id: string): Unit

getWinner

  • getWinner(): number
  • Returns the number of the player who has won the game. If it is still in progress it will return -1;

    Returns number

Private idsToCards

  • idsToCards(ids: Array<string>): Card[]
  • Parameters

    • ids: Array<string>

    Returns Card[]

isActivePlayer

  • isActivePlayer(player: number): boolean
  • Parameters

    • player: number

    Returns boolean

isAttacking

  • isAttacking(): boolean

isPlayPhase

  • isPlayPhase(): boolean

isPlayerTurn

  • isPlayerTurn(player: number): boolean
  • Parameters

    • player: number

    Returns boolean

isSyncronized

  • isSyncronized(): boolean
  • Returns boolean

makeChoice

  • makeChoice(player: number, cards: Card[]): boolean
  • Parameters

    • player: number
    • cards: Card[]

    Returns boolean

Protected makeDeferredChoice

  • makeDeferredChoice(player: number, cards: Card[]): void

modifyEnchantment

  • Parameters

    Returns boolean

mulligan

  • mulligan(): void
  • Returns void

nextTurn

  • nextTurn(): void
  • Returns void

Protected onQueryResult

  • onQueryResult(): null
  • Returns null

onSync

  • onSync(): null
  • Returns null

pass

  • pass(): boolean
  • Returns boolean

playCard

playCardExtern

  • playCardExtern(card: Card, targets?: Unit[], host?: Unit | null): boolean
  • Invoked by the player or A.I to play a card.

    It will return false if it is not currently legal to play the card. Otherwise it will play the card then send the action to the server.

    Parameters

    • card: Card

      The card to play

    • Default value targets: Unit[] = []

      The card's targets (empty array if it has none)

    • Default value host: Unit | null = null

      The card's host if it is an item or null if it is not an item

    Returns boolean

playFromCrypt

  • playFromCrypt(card: Card): void

playGeneratedUnit

playPermanent

playResource

  • playResource(type: string): boolean
  • Parameters

    • type: string

    Returns boolean

playerCanAttack

  • playerCanAttack(playerNo: number): boolean
  • Parameters

    • playerNo: number

    Returns boolean

queryCards

  • queryCards(getCards: function, callback: function): void

Protected quit

  • Parameters

    Returns boolean

refresh

  • refresh(): void
  • Returns void

Protected removePermanent

Protected resolveCombat

  • resolveCombat(): Promise<void>

returnPermanentToDeck

  • returnPermanentToDeck(perm: Permanent): void

returnPermanentToHand

  • returnPermanentToHand(perm: Permanent): void

setAttackOrder

  • setAttackOrder(attacker: Unit, order: Unit[]): boolean
  • When an attacking unit is blocked by multiple defenders, the attacker's owner may set the order damage is delt in. This function does that for a given attacker and an ordered list of blockers.

    Parameters

    • attacker: Unit

      The unit that has been blocked

    • order: Unit[]

      The blockers in the order that damage should be applied to them

    Returns boolean

setOwningPlayer

  • setOwningPlayer(player: number): void
  • Parameters

    • player: number

    Returns void

Private setQueryResult

  • setQueryResult(cards: Card[]): void
  • Parameters

    Returns void

Protected startEndPhase

  • startEndPhase(): void

Private syncAttackToggled

  • Parameters

    Returns void

Private syncBlock

  • syncBlock(localPlayerNumber: number, event: SyncBlock): void
  • Parameters

    Returns void

Private syncCardEvent

  • syncCardEvent(localPlayerNumber: number, event: SyncPlayCard): void
  • Parameters

    Returns void

Private syncChoiceMade

  • syncChoiceMade(localPlayerNumber: number, event: SyncChoiceMade): void
  • Parameters

    Returns void

Private syncDamageDistribution

  • Parameters

    Returns void

Private syncDrawEvent

  • Parameters

    Returns void

Private syncEnded

  • syncEnded(localPlayerNumber: number, event: SyncEnded): void
  • Parameters

    Returns void

Private syncModifyEnchantment

Private syncPhaseChange

  • Parameters

    Returns void

Private syncPlayResource

  • Parameters

    Returns void

Private syncQueryResult

  • Parameters

    Returns void

syncServerEvent

  • syncServerEvent(localPlayerNumber: number, event: GameSyncEvent): void
  • Syncs an event that happened on the server into the state of this game model

    Parameters

    Returns void

Private syncTurnStart

  • syncTurnStart(localPlayerNumber: number, event: SyncTurnStart): void
  • Parameters

    Returns void

unpackCard

Private wouldEndTurn

  • wouldEndTurn(): boolean
  • Returns boolean

Generated using TypeDoc