new GameInfo()
Менеджер информации об игроках, игре и игровых действиях.
Производит подсветку возможных действий и активирует кнопку действий,
перенаправляет сыгранные карты на правильные поля и выводит сообщения о состоянии хода.
- Source:
Members
attacker
buttonActions
defender
gameId
gameIndex
message
pi
pid
player
players
playersById
rules
simulating
trumpSuit
turnIndex
turnStage
buttonActions :Array.<string>
Действия, которые будут перенаправлены на ActionHandler#actionButton.
- Source:
playersById :Object.<Object>
Информация об игроках по id игроков.
- Source:
simulating :Boolean
Находится игра в режиме быстрой симуляции.
Если true
, все запланированные действия будут завершены перед добавлением новых
- Source:
Methods
_cardShouldBePlayable
_fixActionField
_getNewMessage
_logPlayerRoles
_makeInteractible
_removeMessage
_resetButton
_roleIsAttacker
_setButtonAction
_shouldResetTurnInfo
_updateMessage
_updatePlayerRoles
applyInteractivity
findAppropriateField
getFieldStatuses
getPlayer
playerIsActive
reset
resetTurnInfo
saveGameInfo
savePlayers
shouldDeleteAction
tryHighlightDummy
updateTurnInfo
(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
|
поле, над которым находится карта |
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
|
использованная в |
field |
Field
|
использованное в |
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> |
последовательность действий, в которую будет добавлено удаление старого сообщения о состоянии хода |