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

Студио фунцтион референце

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

Тхис паге референцес усефул сервер сиде анд цлиент сиде фунцтионс (анд соме интерестинг цласс вариаблес), со тхат нободy неедс то реинвент тхе wхеел (унлесс хе wантс то). Тхис лист ис нот еxхаустиве, ин партицулар фунцтионс алреадy wелл десцрибед бy цомментс ин тхе 'ЕмптyГаме' гаме темплате маy нот бе десцрибед агаин белоw.

Сервер сиде (ПХП фунцтионс)

АПП_ГамеАцтион цласс (<гаменаме>.ацтион.пхп)

фунцтион исАрг( $аргНаме )
Ис тхис аргумент филлед ?
фунцтион гетАрг( $аргНаме, $аргТyпе, $мандаторy=фалсе, $дефаулт=НУЛЛ, $аргТyпеДетаилс=арраy(), $бЦанФаил=фалсе )
Гет сцрипт аргумент wитх тхе цоррецт тyпе
бЦанФаил меанс тхан а валидатион фаилуре ис поссибле (усер инпут)
Тхе маин аргТyпе валуес аре ас фоллоwс.
define( 'AT_int', 0 );        //  an integer
define( 'AT_posint', 1 );     //  a positive integer 
define( 'AT_float', 2 );      //  a float
define( 'AT_email', 3 );      //  an email  
define( 'AT_url', 4 );        //  a URL
define( 'AT_bool', 5 );       //  1/0/true/false
define( 'AT_enum', 6 );       //  argTypeDetails list the possible values
define( 'AT_alphanum', 7 );   //  only 0-9a-zA-Z_ and space

Табле цласс (<гаменаме>.гаме.пхп)

фунцтион _( $теxт )
Транспарент фунцтион, усед то марк стрингс то бе транслатед он тхе сервер сиде (еx: еррор мессаге)
фунцтион цлиенттранслате( $стринг )
Транспарент фунцтион: усед то марк стринг то бе транслатед он цлиент сиде (еx: нотифицатион мессаге)
фунцтион гетПлаyерсНумбер()
Ретурнс тхе нумбер оф плаyерс плаyинг ат тхе табле
фунцтион цхецкАцтион( $ацтионНаме, $бТхроwЕxцептион=труе )
Цхецк иф ацтион ис валид регардинг цуррент гаме стате (еxцептион иф фаилс)
иф "бТхроwЕxцептион" ис сет то "фалсе", тхе фунцтион ретурн фалсе ин цасе оф фаилуре инстеад оф тхроwинг анд еxцептион
фунцтион гетАцтивеПлаyерИд()
Гет тхе "ацтиве_плаyер", wхатевер wхат ис тхе цуррент стате тyпе
Ноте: ит доес НОТ меан тхат тхис плаyер ис ацтиве ригхт ноw, бецаусе стате тyпе цоулд бе "гаме" ор "мултиплаyер"
фунцтион гетАцтивеПлаyерНаме()
Гет тхе "ацтиве_плаyер" наме
фунцтион гетЦуррентПлаyерИд()
Гет тхе "цуррент_плаyер". Тхе цуррент плаyер ис тхе оне фром wхицх тхе ацтион оригинатед. Ит ис нот алwаyс тхе ацтиве плаyер.
фунцтион гетЦуррентПлаyерНаме()
Гет тхе "цуррент_плаyер" наме
фунцтион гетЦуррентПлаyерЦолор()
Гет тхе "цуррент_плаyер" цолор
фунцтион исЦуррентПлаyерЗомбие()
Цхецк тхе "цуррент_плаyер" зомбие статус
фунцтион ацтивеНеxтПлаyер()
Маке тхе неxт плаyер ацтиве
фунцтион ацтивеПревПлаyер()
Маке тхе превиоус плаyер ацтиве
фунцтион гивеЕxтраТиме( $плаyер_ид, $специфиц_тиме=нулл )
Гиве стандард еxтра тиме то тхис плаyер (стандард еxтра тиме ис а гаме оптион)
фунцтион инитСтат( $табле_ор_плаyер, $наме, $валуе, $плаyер_ид=нулл )
Цреате а статистиц ентрy фор тхе специфиед статистицс wитх а дефаулт валуе
Ин цасе оф а "плаyер" ентрy, иф плаyер_ид ис нот специфиед, алл плаyерс аре сет то тхе саме валуе
фунцтион сетСтат( $валуе, $наме, $плаyер_ид = нулл )
Сет статистиц валуе
фунцтион инцСтат( $делта, $наме, $плаyер_ид = нулл )
Инцремент (ор децремент) специфиед валуе
фунцтион ДбQуерy( $сqл )
Еxецутес сqл qуерy он тхе датабасе
фунцтион гетЦоллецтионФромДБ( $сqл, $бСинглеВалуе=фалсе )
Ретурнс ан ассоциативе арраy оф роwс фор тхе сqл qуерy. Фирст цолумн муст бе а примарy ор алтернате кеy. Тхе ресултинг цоллецтион цан бе емптy.
протецтед фунцтион гетНонЕмптyЦоллецтионФромДБ( $сqл )
Идем, бут раисе ан еxцептион иф тхе цоллецтион ис емптy
фунцтион гетУниqуеВалуеФромДБ( $сqл )
Ретурнс а униqуе валуе фром ДБ ор нулл иф но валуе ис фоунд
Раисе ан еxцептион иф море тхан 1 роw ис ретурнед
фунцтион гетОбјецтФромДБ( $сqл )
Ретурнс оне роw фор тхе сqл qуерy ас ан ассоциативе арраy ор нулл иф тхере ис но ресулт
Раисе ан еxцептион иф тхе qуерy ретурн море тхан оне роw
фунцтион гетНонЕмптyОбјецтФромДБ( $сqл )
Идем, бут раисе ан еxцептион иф тхе qуерy доесн'т ретурн еxацтлy оне роw

Еxцептионс yоу цан тхроw

тхроw неw БгаУсерЕxцептион ( $еррор_мессаге)
Басе цласс то нотифy а усер еррор
тхроw неw БгаСyстемЕxцептион ( $еррор_мессаге)
Басе цласс то нотифy а сyстем еxцептион. Тхе мессаге wилл бе хидден фром тхе усер, бут схоw ин тхе логс. Усе тхис иф тхе мессаге цонтаинс тецхницал информатион.
тхроw неw БгаСyстемВисиблеЕxцептион ( $еррор_мессаге)
Саме ас превиоус, еxцепт тхат тхе мессаге ис висибле бy тхе усер. Yоу цан усе тхис иф тхе мессаге ис ундерстандабле бy тхе усер.

Цлиент сиде (Јавасцрипт фунцтионс)

тхис.пла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ер