-
Notifications
You must be signed in to change notification settings - Fork 1
/
terraformingmars.view.php
80 lines (68 loc) · 2.41 KB
/
terraformingmars.view.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
/**
*------
* BGA framework: © Gregory Isabelli <gisabelli@boardgamearena.com> & Emmanuel Colin <ecolin@boardgamearena.com>
* game implementation : © Alena Laskavaia <laskava@gmail.com>
*
* This code has been produced on the BGA studio platform for use on http://boardgamearena.com.
* See http://en.boardgamearena.com/#!doc/Studio for more information.
* -----
*
* .view.php
*
* This is your "view" file.
*
* The method "build_page" below is called each time the game interface is displayed to a player, ie:
* _ when the game starts
* _ when a player refreshes the game page (F5)
*
* "build_page" method allows you to dynamically modify the HTML generated for the game interface. In
* particular, you can set here the values of variables elements defined in .tpl (elements
* like {MY_VARIABLE_ELEMENT}), and insert HTML block elements (also defined in your HTML template file)
*
* Note: if the HTML of your game interface is always the same, you don't have to place anything here.
*
*/
require_once(APP_BASE_PATH . "view/common/game.view.php");
class view_terraformingmars_terraformingmars extends game_view
{
function getGameName()
{
return "terraformingmars";
}
function getTemplateName()
{
return self::getGameName() . "_" . self::getGameName();
}
function insertBlockWithUppercaseKeys($block, $map)
{
$block_info = [];
foreach ($map as $key => $value) {
$block_info[strtoupper($key)] = $value;
}
$this->page->insert_block($block, $block_info);
}
function build_page($viewArgs)
{
// Get players & players number
$players = $this->game->loadPlayersBasicInfos();
$players_nbr = count($players);
/*********** Place your code below: ************/
$this->tpl['PLAYER_NUMBER'] = $players_nbr;
global $g_user;
$this->tpl['CURRENT_PLAYER_COLOR'] = 'ffffff'; // spectator
$cplayer = $g_user->get_id();
if (isset($players[$cplayer])) {
$this->tpl['CURRENT_PLAYER_COLOR'] = $players[$cplayer]['player_color'];
}
$template = self::getTemplateName();
$this->page->begin_block($template, "player_board");
// inner blocks in player blocks
// boards in players order
$players = $this->game->getPlayersInOrder($cplayer);
foreach ($players as $player_id => $player) {
$this->insertBlockWithUppercaseKeys("player_board", $player);
}
/*********** Do not change anything below this line ************/
}
}