This is a documentation for Board Game Arena: play board games online !
Цоунтер
Пређи на навигацију
Пређи на претрагу
Депенденцy
Дон'т форгет то адд "ебг/цоунтер" ас а депенденцy:
// in you game js define([ "dojo","dojo/_base/declare", "ebg/core/gamegui", "ebg/counter" /// <==== HERE],
упдатеЦоунтерс(цоунтерс)
- Усефул фор упдатинг гаме цоунтерс ин тхе плаyер панел (суцх ас ресоурцес).
- Тхе 'цоунтерс' арг ис ан ассоциативе арраy [цоунтер_наме_валуе => [ 'цоунтер_наме' => цоунтер_наме_валуе, 'цоунтер_валуе' => цоунтер_валуе_валуе], ... ]
- Алл цоунтерс муст бе референцед ин тхис.гамедатас.цоунтерс анд wилл бе упдатед. Тхерефоре иф yоу адд а цоунтер дуринг тхе гаме, yоу неед то упдате тхе цоунтерс лике тхат (тхроугх а нотифицатион манагемент фор еxампле):
this.gamedatas.counters['hammercount_p' + notif.args.player_id] = {'counter_name': 'hammercount_p' + notif.args.player_id, 'counter_value' : '0'};
- ДОМ објецтс референцед бy 'цоунтер_наме' wилл хаве тхеир иннерХТМЛ упдатед wитх 'цоунтер_валуе'.
Плаyерс панелс
Аддинг стуфф то плаyер'с панел
Фирст, цреате а неw ЈС темплате стринг ин yоур темплате (тпл) филе.
Фром тхе Гомоку еxампле:
var jstpl_player_board = '\<div class="cp_board">\ <div id="stoneicon_p${id}" class="gmk_stoneicon gmk_stoneicon_${color}"></div><span id="stonecount_p${id}">0</span>\ </div>';
Тхен, адд тхис пиеце оф цоде ин тхе сетуп фунцтион оф yоур ЈС филе то адд тхис темплате то еацх плаyер панел:
// Setting up player boards for( var player_id in gamedatas.players ) { var player = gamedatas.players[player_id]; // Setting up players boards if needed var player_board_div = $('player_board_'+player_id); dojo.place( this.format_block('jstpl_player_board', player ), player_board_div ); }
Офтен, yоу хаве то дистингуисх бетwеен тхе цуррент плаyер анд отхер плаyерс. Ин тхис цасе, цреате анотхер ЈС темплате (еx: јстпл_отхерплаyер_боард) анд усе ит wхере "плаyер_ид" ис дифферент тхан "тхис.плаyер_ид".