new Field(options, style)
Конструктор полей карт (Card).
Производит размещение карт на экране. Контролирует позицию карт при наведении курсора.
Отвечает за подсветку пространства под картами и самих карт.
Основные компоненты: Field#area, Field#cards.
Карты добавляются в поле двумя методами:
Field#queueCards -> Field#placeQueuedCards
Field#addCards
Использование второго метода до финализации первого добавляет карты в очередь и запускает очередь
.queueCards(c1)
-> .addCards(c2)
=> .queueCards(c1)
-> .queueCards(c2)
-> .placeQueuedCards()
- Source:
Parameters:
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object
|
Настройки поля. Field#options.
Будут пересохранены в
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
style |
object
|
Внешний вид поля. Field#style
|
Extends
Classes
Members
_angles
_bitmapArea
_cardSpacing
_debugActiveSpace
_delays
_entranceTween
_expectedDelay
_queuedCards
_uninteractibleTimer
alpha
angle
area
cards
cardsToRemove
children
delayTime
focusedCard
highlighted
id
inDebugMode
interactible
length
linkedField
moveTime
name
options
playable
poppedOut
rotation
savedPosition
specialId
style
type
validCards
visible
x
y
(private) _bitmapArea :Phaser.BitmapData
BitmapData поверхности поля.
- Source:
(private) _debugActiveSpace :Phaser.Rectangle
Размер активного места поля для дебага.
- Source:
(private) _expectedDelay :Number
Ожидаемая задержка для установки Field#_uninteractibleTimer
- Source:
(private) _uninteractibleTimer
- Source:
angle :number
Поворот в градусах.
- Inherited From:
- Source:
(readonly) length :number
Кол-во элементов, входящих в группу.
- Inherited From:
- Source:
options :object
Настройки поля.
Изменения не повлияют на само поле, т.к. все свойства сохранены в this
.
- Source:
playable :string|boolean
Можно ли играть карты на это поле и тип действия.
- Default Value:
- false
- Source:
rotation :number
Поворот в радианах.
- Inherited From:
- Source:
specialId :number
Специальное id поля для полей, пренадлежащих одной группе.
- Source:
validCards :Array.<Card>
Карты, которые могут быть сыграны на это поле.
- Source:
- See:
-
- highlightPossibleActions
visible :boolean
Отрисовывается ли элемент игрой.
- Inherited From:
- Source:
Methods
_appendCards
_applyOptions
_calculateCardSpacing
_calculateCircleCenter
_calculateMargin
_compareCards
_createArea
_createDelayArray
_fixCardDraggability
_getLastAngle
_moveCard
_rotateCard
_setDebugActiveSpace
_setUninteractibleTimer
_startCardMovers
add
addCards
animateAppearance
bringToTop
cardIsInside
destroy
endAnimation
focusOffCard
focusOnCard
forEach
getByName
getDefaultOptions
placeCards
placeQueuedCards
queueCards
remove
removeAll
removeAllCards
removeCards
removeMarkedCards
reset
resetQueue
rotateCards
setBase
setCardsHighlight
setCardsPlayability
setChildIndex
setOwnHighlight
setOwnPlayability
setPopOut
setSize
setupAnimatedAppearance
setVisibility
sortCards
toggleDebugMode
update
updateDebug
zAlignCards
(private) _appendCards(cards)
Добавляет карты в Field#cards. Вычисляет и сохраняет угол карты в Field#_angles, если указан Field#randomAngle.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
cards |
Array.<Card>
|
карты для добавления |
(private) _applyOptions(optionsopt, styleopt)
Совмещает переданные опции со стандартными и сохраняет их, как свойства объекта.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
options |
object
|
<optional> |
Настройки поля. |
style |
object
|
<optional> |
Внешний вид поля. |
(private) _calculateCardSpacing(activeWidth) → {number}
Считает отступ между картами.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
activeWidth |
number
|
Активная ширина поля. |
Returns:
- Type:
-
number
Возвращает отступ между картами.
(private) _calculateCircleCenter(a, b, c) → {Phaser.Point}
Считает центр круга по трем точкам. Взято со stackoverflow.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
a |
object
|
точка a |
b |
object
|
точка b |
c |
object
|
точка c |
Returns:
- Type:
-
Phaser.Point
Возвращает центр круга.
(private) _calculateMargin(requiredActiveWidth, areaActiveWidth, areaWidth, areaHeight, cardWidth, cardHeight) → {object}
Считает отступы сверху и слева
- Source:
Parameters:
Name | Type | Description |
---|---|---|
requiredActiveWidth |
number
|
необходимая ширина для размещения карт |
areaActiveWidth |
number
|
реальная ширина для размещения карт |
areaWidth |
number
|
ширина поля |
areaHeight |
number
|
высота поля |
cardWidth |
number
|
ширина карты |
cardHeight |
number
|
высота карты |
Returns:
- Type:
-
object
Возвращает отступы {top, left}
(private) _compareCards()
Компаратор для сортировки.
- Source:
- See:
(private) _createArea(width, height)
Запоминает размеры поля и рисует прямоугольник с закругленными углами.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
width |
number
|
ширина поля |
height |
number
|
высота поля |
(private) _createDelayArray(noDelay) → {array}
Создает массив задержек.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
noDelay |
boolean
|
все задержки равны нулю |
Returns:
- Type:
-
array
Возращает массив задержек.
(private) _fixCardDraggability(card)
Выставляет перетаскиваемость карты для тех случаев, когда карта была перемещена без использования presetField метода.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
card |
Card
|
(private) _getLastAngle() → {number|null}
Возвращает угол последней карты в поле.
- Source:
Returns:
- Type:
-
number
|null
Угол последней карты или null
.
(private) _moveCard(card, index, topMargin, leftMargin, cardSpacing, angle, shift, focusedIndex, delayArray, delayIndex, bringToTopOn)
Рассчитывает позицию для карты в соотвествии с индексом и перемещает карту в эту позицию.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
card |
Card
|
карта |
index |
number
|
индекс карты в поле |
topMargin |
number
|
отступ сверху |
leftMargin |
number
|
отступ слева |
cardSpacing |
number
|
отступ от предыдущей карты |
angle |
number
|
угол поворота |
shift |
number
|
сдвиг от выделенной карты |
focusedIndex |
number
|
индекс выделенной карты в поле |
delayArray |
Array.<number>
|
массив задержек карт |
delayIndex |
number
|
индекс задержки карты |
bringToTopOn |
BRING_TO_TOP_ON
|
когда поднимать карту на передний план |
(private) _rotateCard(card, angle, x, y, delay) → {number}
Поворачивает карту и считает корректированную позицию по оси y.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
card |
Card
|
карта |
angle |
number
|
угол |
x |
number
|
позиция по x |
y |
number
|
позиция по y |
delay |
number
|
время задержки |
Returns:
- Type:
-
number
Возвращает откорректированную позицию по оси y.
(private) _setDebugActiveSpace(activeWidth, cardHeight, leftMargin, topMargin, shift)
Сохраняет размеры активного места для отображения.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
activeWidth |
number
|
ширина активного места |
cardHeight |
number
|
высота карт |
leftMargin |
number
|
отступ слева |
topMargin |
number
|
отступ сверху |
shift |
number
|
отступ от выделенной карты |
(private) _setUninteractibleTimer(time)
Запускает таймер, во время которого карты не реагируют на курсор.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
time |
number
|
время таймера |
(private) _startCardMovers(card, angle, x, y, margin, delay, bringToTopOn)
Запускает твины карты.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
card |
Card
|
|
angle |
number
|
|
x |
number
|
|
y |
number
|
|
margin |
number
|
|
delay |
number
|
|
bringToTopOn |
BRING_TO_TOP_ON
|
add()
Добавляет элемент в группу.
- Inherited From:
- Source:
addCards(newCards, bringToTopOnopt, noDelayopt) → {number}
Добавляет карты в поле.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
newCards |
Array.<Card>
|
добавляемые карты |
||
bringToTopOn |
BRING_TO_TOP_ON
|
<optional> |
BRING_TO_TOP_ON.START |
когда поднимать карты на передний план |
noDelay |
boolean
|
<optional> |
false |
убирает время ожидания перед добавлением карт |
Returns:
- Type:
-
number
Время добавления
animateAppearance(delay)
Запускает твин появления поля.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
delay |
number
|
задержка до запуска твина |
bringToTop()
Поднимает элемент группы наверх.
- Inherited From:
- Source:
cardIsInside(card, includeSpacingopt, includeWholeCardopt) → {boolean}
Проверяет нахождение карты внутри поля (по координатам).
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
card |
Card
|
проверяемая карта |
||
includeSpacing |
boolean
|
<optional> |
true |
нужно ли учитывать сдвиг карт друг от друга |
includeWholeCard |
boolean
|
<optional> |
false |
любая часть карты |
Returns:
- Type:
-
boolean
Находится ли карта в поле.
destroy()
Полностью уничтожает поле, убирает все карты предварительно.
- Overrides:
- Source:
focusOffCard(card, forcedopt)
Убирает выделение карты.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
card |
Card
|
выделенная карта |
|
forced |
boolean
|
<optional> |
заставляет поле убрать выделение карты, даже если поле не стало бы этого делать |
focusOnCard(card, pointer, forcedopt)
Выделяет карту, над которой находится курсор.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
card |
Card
|
выделенная карта |
|
pointer |
Phaser.Pointer
|
курсор |
|
forced |
boolean
|
<optional> |
заставляет поле выделить карту, даже если она не находится в пределах поля или поле не выделяет карты при наведении |
forEach()
Выполняет callback для каждого элемента группы.
- Inherited From:
- Source:
getByName()
Возвращает элемент группы с указанным именем.
- Inherited From:
- Source:
placeCards(newCardsopt, bringToTopOnopt, noDelayopt) → {number}
Размещает карты в поле.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
newCards |
Array.<Card>
|
<optional> |
null |
только что добавленные карты, они будут перемещены в поле по очереди |
bringToTopOn |
BRING_TO_TOP_ON
|
<optional> |
когда поднимать карту на передний план |
|
noDelay |
boolean
|
<optional> |
false |
все карты будут перемещены без задержки |
Returns:
- Type:
-
number
Возвращает задержку следующей карты.
placeQueuedCards(bringToTopOnopt, noDelayopt)
Размещает карты из очереди.
- Source:
- See:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
bringToTopOn |
BRING_TO_TOP_ON
|
<optional> |
BRING_TO_TOP_ON.START |
когда поднимать карты на передний план |
noDelay |
boolean
|
<optional> |
false |
убирает время ожидания перед добавлением карт |
queueCards(newCards, delay) → {number}
Добавляет карты в очередь на добавление.
- Source:
- See:
Parameters:
Name | Type | Description |
---|---|---|
newCards |
Array.<Card>
|
добавляемые карты |
delay |
number
|
задержка, добавляемая к первой карте в очереди |
Returns:
- Type:
-
number
Планируемое время добавления
remove()
Убирает элемент из группы.
- Inherited From:
- Source:
removeAll()
Удаляет все элементы из группы, опционально уничтожая их.
- Inherited From:
- Source:
removeAllCards()
Удаляет все карты из поля.
- Source:
- See:
removeCards(cardsToRemove)
Удаляет карты из поля.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
cardsToRemove |
Array.<Card>
|
карты для удаления |
resetQueue()
Очищает очередь на добавление.
- Source:
- See:
setBase(xopt, yopt, shouldPlaceopt)
Устанавливает позицию поля.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
x |
number
|
<optional> |
this.style.x |
по горизонтали |
y |
number
|
<optional> |
this.style.y |
по вертикали |
shouldPlace |
boolean
|
<optional> |
false |
нужно ли размещать карты после установки |
setCardsHighlight(highlight)
Устанавливает подсветку всех карт в поле.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
highlight |
boolean
|
подсветка карт |
setCardsPlayability(playable)
Устанавливает играбильность всех карт в поле.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
playable |
boolean
|
играбильность карт |
setChildIndex()
Устанавливает индекс элемента группы по вертикали.
- Inherited From:
- Source:
setOwnHighlight(onopt, tintopt)
Устанавливает подсветку поля. По умолчанию зависит от того, включен ли дебаг поля.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
on |
boolean
|
<optional> |
Field#inDebugMode |
подствечивать ли поле |
tint |
number
|
<optional> |
ui.colors.lightBlue |
цвет подсветки |
setOwnPlayability(playable, linkedFieldIdopt)
Устанавливает возможность играть карты на поле и подсветку.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
playable |
string
|
boolean
|
играбильность и тип применимого действия |
||
linkedFieldId |
string
|
<optional> |
null |
связанное поле, используется |
setPopOut(popped)
Увеличивает или восстанавливает масштаб последней карты в поле.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
popped |
boolean
|
нужно ли увеличить или восстановить масштаб |
setSize(widthopt, heightopt, shouldPlaceopt)
Устанавливает размер поля.
- Source:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
width |
number
|
<optional> |
this.style.width |
ширина |
height |
number
|
<optional> |
this.style.height |
высота |
shouldPlace |
boolean
|
<optional> |
false |
нужно ли размещать карты после установки |
setupAnimatedAppearance()
Создает твин анимации появления поля.
- Source:
setVisibility(visible)
Устанавливает видимость подсветки поля.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
visible |
boolean
|
видимость |
update()
Обновляет все элементы, входящие в группу.
- Inherited From:
- Source:
zAlignCards(checkDelayopt, forcedCardopt)
Устанавливает z-index карт.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
checkDelay |
boolean
|
<optional> |
если |
forcedCard |
Card
|
<optional> |
Карта, которая поднимается, даже если |