GameInfo

new GameInfo()

Менеджер информации об игроках, игре и игровых действиях.
Производит подсветку возможных действий и активирует кнопку действий, перенаправляет сыгранные карты на правильные поля и выводит сообщения о состоянии хода.

Source:

Members

attacker :object

Текущий доминирующий атакующий.

Source:

buttonActions :Array.<string>

Действия, которые будут перенаправлены на ActionHandler#actionButton.

Source:

defender :object

Текущий защищающийся.

Source:

gameId :string

id игры

Source:

gameIndex :number

Индекс игры.

Source:

message :Phaser.Text

Сообщение о текущем состоянии хода.

Source:

pi :number

Индекс локального игрока в массиве игроков.

Source:

pid :string

id локального игрока.

Source:

player :object

Информация о локальном игроке.

Source:

players :Array.<Object>

Массив информации об игроках.

Source:

playersById :Object.<Object>

Информация об игроках по id игроков.

Source:

rules :object

Правила игры.

Source:

simulating :Boolean

Находится игра в режиме быстрой симуляции. Если true, все запланированные действия будут завершены перед добавлением новых

Source:

trumpSuit :number

Козырная масть.

Source:

turnIndex :number

Индекс хода.

Source:

turnStage :string

Текущая стадия хода.

Source:

Methods

(private) _cardShouldBePlayable(card, actions, cardHolding) → {boolean}

Возвращает нужно ли сделать карту играбильной.

Source:
Parameters:
Name Type Description
card Card
actions ActionInfo
cardHolding Card

карта, которую держит игрок

Returns:
Type:
boolean

(private) _fixActionField(action, emptyTable) → {boolean}

Заменяет поле действия на первое свободное поле если оно есть.

Source:
Parameters:
Name Type Description
action ActionInfo
emptyTable Field
Returns:
Type:
boolean

Нужно ли удалить действие.

(private) _getNewMessage() → {object}

Возвращает сообщение о состоянии хода.

Source:
Returns:
Type:
object

{text, style}

(private) _logPlayerRoles(statuses)

Выводит статусы игроков в консоль.

Source:
Parameters:
Name Type Description
statuses object

(private) _makeInteractible(card, field, action, defenseFields, emptyTable)

Делает поле и карту интерактивной в соответствии с действием.

Source:
Parameters:
Name Type Description
card Card
field Field
action ActionInfo
defenseFields Array.<Field>

поля, которые игрок должен отбивать

emptyTable Field

первое свободное поле на столе

(private) _removeMessage(message, seqopt)

Удаляет сообщение о состоянии хода.

Source:
Parameters:
Name Type Attributes Description
message Phaser.Text
seq object <optional>

последовательность, в которую будет добавлено удалени

(private) _resetButton(button)

Ресетит кнопку действия.

Source:
Parameters:
Name Type Description
button UI.Button

(private) _roleIsAttacker(status) → {boolean}

Определяет, является ли игрок атакуюшим по статусу.

Source:
Parameters:
Name Type Description
status object
Returns:
Type:
boolean

(private) _setButtonAction(button, type)

Устанавливает текст и действие кнопки действия.

Source:
Parameters:
Name Type Description
button UI.Button

кнопка действия

type string

тип действия

(private) _shouldResetTurnInfo(turnStage, hasActions) → {boolean}

Возвращает нужно ли ресетить информацию о ходе.

Source:
Parameters:
Name Type Description
turnStage string

текущая стадия хода

hasActions boolean

может ли игрок ходить

Returns:
Type:
boolean

(private) _updateMessage(seqopt)

Обновляет сообщение о состоянии хода, удаляет предыдущее сообщение.

Source:
Parameters:
Name Type Attributes Description
seq object <optional>

последовательность, в которую будет добавлено удаление старого сообщения

(private) _updatePlayerRoles(statuses)

Обновляет роли игроков.

Source:
Parameters:
Name Type Description
statuses object

текущие статусы игроков

applyInteractivity(actions, button)

Делает элементы игры интерактивными в соответствии с переданными действиям.

Source:
Parameters:
Name Type Description
actions Array.<ActionInfo>
button UI.Button

кнопка, на которую будет навешено действие из buttonActions.

findAppropriateField(field) → {Field}

Находит поле, на которое можно положиь карту.
Меняет местами field с field.linkedField и возвращает linkedField если оно есть.

Source:
Parameters:
Name Type Description
field Field

поле, над которым находится карта

Returns:
Type:
Field

Поле, на которое можно положить карту.

getFieldStatuses()

Находит кол-ва полей стола с картами

Source:

getPlayer(pid) → {object}

Возвращает информацию об игрока по id.

Source:
Parameters:
Name Type Description
pid string
Returns:
Type:
object

playerIsActive(pid, wasActive) → {boolean}

Возвращается является ли игрок активным в данный момент.

Source:
Parameters:
Name Type Description
pid string

id игрока

wasActive boolean

был ли игрок активным в предыдущую фазу

Returns:
Type:
boolean

активен ли игрок теперь

reset()

Убирает всю информацию об игре (игроков, роли, информацию о ходе, свойства игры).

Source:

resetTurnInfo(seqopt)

Обнуляет роли игроков и стадию хода, удаляет сообщение о статусе хода.

Source:
Parameters:
Name Type Attributes Description
seq object <optional>

последовательность в которую будет добавлено удаление сообщения о состоянии хода

saveGameInfo(gameId, gameIndex, rules, simulating)

Сохраняет информацию об игре.

Source:
Parameters:
Name Type Description
gameId string

id игры

gameIndex number

индекс игры

rules object

правила игры

simulating boolean

находится ли игра в режиме ускоренной симуляции

savePlayers(players)

Сохраняет информацию об игроках.

Source:
Parameters:
Name Type Description
players array

shouldDeleteAction(action, card, field, doneAction) → {boolean}

Возвращает нужно ли удалить действие в соответствии с типом действия, правилами игры и turnStage.
В некоторых случаях модифицирует действие.

Source:
Parameters:
Name Type Description
action ActionInfo

проверяемое действий

card Card

использованная в doneAction карта

field Field

использованное в doneAction поле

doneAction ActionInfo

исполненное действие

Returns:
Type:
boolean

tryHighlightDummy(emptyTable)

Подсвечивает dummy поле, если все поля стола играбильны.

Source:
Parameters:
Name Type Description
emptyTable TableField

первое пустое поле ввода

updateTurnInfo(statuses, turnIndex, turnStage, hasActions, seqopt)

Обновляет статусы и роли игроков, запоминает текущую стадию хода, и выводит сообщение о состоянии хода.

Source:
Parameters:
Name Type Attributes Description
statuses object

статусы игроков

turnIndex number

номер хода

turnStage string

стадия хода

hasActions boolean

игрок может ходить

seq object <optional>

последовательность действий, в которую будет добавлено удаление старого сообщения о состоянии хода