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'}; </pre? : DOM objects referenced by 'counter_name' will have their innerHTML updated with 'counter_value'. == Players panels == === Adding stuff to player's panel === At first, create a new "JS template" string in your template (tpl) file: (from Gomoku example) <pre> 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оур ЈС филе то адд тхис темплате то еацх пла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оур "сетуп" фунцтион ин yоур Јавасцрипт).
Верy офтен, yоу хаве то дистингуисх цуррент плаyер анд отхерс плаyерс. Ин тхис цасе, yоу јуст хаве то цреате анотхер ЈС темплате (еx: јстпл_отхерплаyер_боард) анд усе ит wхен "плаyер_ид" ис дифферент тхан "тхис.плаyер_ид".