This is a documentation for Board Game Arena: play board games online !

Гаме интерфаце логиц: yоургаменаме.јс

Извор: Board Game Arena
Пређи на навигацију Пређи на претрагу

Тхис ис тхе маин филе фор yоур гаме интерфаце. Хере yоу wилл дефине:

  • wхицх ацтионс он тхе паге wилл генерате цаллс то тхе сервер
  • wхат хаппенс wхен yоу гет а нотифицатион фор цханге фром тхе сервер анд хоw ит wилл схоw ин тхе броwсер.

Филе струцтуре

Тхе детаилс он хоw тхе филе ис струцтуред ис десцрибед дирецтлy wитх цомментс он тхе цоде скелетон провидед то yоу.

Басицаллy, хере'с тхис струцтуре:

  • цонструцтор: хере yоу цан дефине вариабле глобал то yоур wхоле интерфаце.
  • сетуп: тхис метход ис цаллед wхен тхе паге ис рефресхед, ин ордер yоу цан сетуп тхе гаме интерфаце.
  • онЕнтерингСтате: тхе метход ис цаллед wхен ентеринг ин а неw гаме стате. Тхис wаy yоу цан цустомизе тхе виеw фор тхис гаме стате.
  • онЛеавингСтате: тхе метход ис цаллед wхен леавинг а гаме стате.
  • онУпдатеАцтионБуттонс: цаллед wхен ентеринг ин а неw стате, ин ордер yоу цан адд ацтион буттонс ин статус бар.
  • (утилитy метходс): ат тхис плаце yоу цан дефине yоур утилитy метходс
  • (плаyер'с ацтионс): ат тхис плаце yоу цан wрите yоур хандлерс фор плаyер'с ацтион он тхе интерфаце (еx: цлицк он ан итем).
  • сетупНотифицатионс: ин тхис метход yоу ассоциате нотифицатионс wитх нотифицатион хандлерс. Тхис wаy, фор еацх гаме нотифицатион, yоу триггер а јавасцрипт метход то хандле ит анд упдате тхе гаме интерфаце.
  • (нотифицатион хандлерс): ат тхис плаце yоу цан дефине yоур нотифицатионс хандлерс.

Дојо фрамеwорк

БГА ис усинг тхе Дојо Јавасцрипт фрамеwорк.

Тхе Дојо фрамеwорк аллоwс ус то до цомплеx тхингс еасиер, анд тхе БГА фрамеwорк ис усинг Дојо фрамеwорк а лот.

То реализе гаме алтхоугх, yоу онлy неед то усе а феw парт оф тхе Дојо фрамеwорк. Хере'с тхе лист оф тхе мост усефул метходс yоу цан усе фор yоур гаме интерфаце:

ТОДО

Усефул метходс фром тхе БГА фрамеwорк

тхис.плаyер_ид
Ид оф тхе плаyер он wхосе броwсер тхе цоде ис руннинг.
тхис.исСпецтатор
Флаг сет то труе иф тхе усер ат тхе табле ис а спецтатор (нот а плаyер).
тхис.гамедатас
Цонтаинс yоур инитиал сет оф датас то инит тхе гаме, цреатед ат гаме старт ор гаме рефресх (Ф5)
Yоу цан упдате ит ас неедед то кееп ан уп то дате референце оф тхе гаме он тхе цлиент сиде.
слидеТоОбјецт
фунцтион( мобиле_обј, таргет_обј, дуратион, делаy )
Ретурн ан дојо.фx аниматион тхат ис слидинг а ДОМ објецт фром итс цуррент поситион овер анотхер оне
Анимате а слиде оф тхе ДОМ објецт реферред то бy домНодеТоСлиде фром итс цуррент поситион то тхе xпос, yпос релативе то тхе објецт реферред то бy домНодеТоСлидеТо.
слидеТоОбјецтПос
фунцтион( мобиле_обј, таргет_обј, таргет_x, таргет_y, дуратион, делаy )
Ретурн ан дојо.фx аниматион тхат ис слидинг а ДОМ објецт фром итс цуррент поситион овер анотхер оне ат тхе гивен цоординатес релативе то тхе таргет објецт.
упдатеЦоунтерс(цоунтерс)
Усефул фор упдатинг гаме цоунтерс ин тхе плаyер панел (суцх ас ресоурцес).
'цоунтерс' арг ис ан ассоциативе арраy [цоунтер_наме_валуе => [ 'цоунтер_наме' => цоунтер_наме_валуе, 'цоунтер_валуе' => цоунтер_валуе_валуе], ... ]
Алл цоунтерс муст бе референцед ин тхис.гамедатас.цоунтерс анд wилл бе упдатед.
ДОМ објецтс референцед бy 'цоунтер_наме' wилл хаве тхеир иннерХТМЛ упдатед wитх 'цоунтер_валуе'.
аддТоолтип( ноде, _( хелпСтринг ), _( ацтионСтринг ), делаy );
Адд а симпле теxт тоолтип то тхе ДОМ ноде. Онлy оне оф 'хелпСтринг' ор 'ацтионСтринг' муст бе усед. _() муст бе усед фор тхе теxт то бе маркед фор транслатион.
аддТоолтипХтмл( ноде, хтмл, делаy );
Адд ан ХТМЛ тоолтип то тхе ДОМ ноде (фор море елаборате цонтент суцх ас пресентинг а биггер версион оф а цард).
аддТоолтипТоЦласс( цссЦласс, _( хелпСтринг ), _( ацтионСтринг ), делаy );
Адд а симпле теxт тоолтип то алл тхе ДОМ нодес сет wитх тхис цссЦласс. Онлy оне оф 'хелпСтринг' ор 'ацтионСтринг' муст бе усед. _() муст бе усед фор тхе теxт то бе маркед фор транслатион.
НБ: алл цонцернед нодес муст хаве ИДс то гет тоолтипс
аддТоолтипХтмлТоЦласс( цссЦласс, хтмл, делаy );
Адд ан ХТМЛ тоолтип то то алл тхе ДОМ нодес сет wитх тхис цссЦласс (фор море елаборате цонтент суцх ас пресентинг а биггер версион оф а цард).
НБ: алл цонцернед нодес муст хаве ИДс то гет тоолтипс
аддЕвентТоЦласс
фунцтион( цссЦлассНаме, евентНаме, фунцтионНаме )
Саме ас дојо.цоннецт(), бут фор алл тхе нодес сет wитх тхе специфиед цссЦлассНаме
аддСтyлеТоЦласс
фунцтион( цссЦлассНаме, цссПропертy, пропертyВалуе )
Саме ас дојо.стyле(), бут фор алл тхе нодес сет wитх тхе специфиед цссЦлассНаме
исЦуррентПлаyерАцтиве()
Ретурнс труе иф тхе плаyер он wхосе броwсер тхе цоде ис руннинг ис цуррентлy ацтиве (ит'с хис турн то плаy)
цхецкАцтион
фунцтион( ацтион, номессаге )
Цхецк иф плаyер цан до тхе специфиед ацтион бy такинг инто аццоунт: _ цуррент гаме стате & _ интерфаце лоцкинг
ретурн труе иф ацтион ис аутхоризед
ретурн фалсе анд дисплаy ан еррор мессаге иф нот (дисплаy но мессаге иф номессаге ис специфиед)
схоwМессаге
фунцтион( мсг, тyпе )
Схоw ан информатион мессаге дуринг а феw сецондс ат тхе топ оф тхе паге
Тyпе цан бе 'еррор' ор 'инфо'
тхис.сцореЦтрл[ плаyер_ид ].инцВалуе( сцоре_делта );
Аддс сцоре_делта (поситиве ор негативе интегер) то тхе цуррент сцоре валуе фор плаyер