-
Notifications
You must be signed in to change notification settings - Fork 1
/
eminentdomain.view.php
92 lines (78 loc) · 3.22 KB
/
eminentdomain.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
81
82
83
84
85
86
87
88
89
90
91
<?php
/**
*------
* BGA framework: © Gregory Isabelli <gisabelli@boardgamearena.com> & Emmanuel Colin <ecolin@boardgamearena.com>
* EminentDomain 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.
* -----
*
* eminentdomain.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 eminentdomain_eminentdomain.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_eminentdomain_eminentdomain extends game_view
{
function getGameName() {
return "eminentdomain";
}
function getTemplateName() {
return self::getGameName() . "_" . self::getGameName();
}
function processPlayerBlock($player_id, $player) {
global $g_user;
$cplayer = $g_user->get_id();
$color = $player ['player_color'];
$name = $player ['player_name'];
$no = $player ['player_no'];
$own = $cplayer == $player_id;
$this->page->insert_block("player_board", array ("COLOR" => $color,"PLAYER_NAME" => $name,"PLAYER_NO" => $no,
"PLAYER_ID" => $player_id, "CLASSES" => $own?"own":"",
"EMPIRE_LABEL" => self::raw(gameview_str_replace('${player_name}', $name, self::_('${player_name}\'s EMPIRE')))
));
}
function build_page($viewArgs) {
global $g_user;
$cplayer = $g_user->get_id();
// Get players & players number
$players = $this->game->loadPlayersBasicInfos();
$players_nbr = count($players);
/**
* ********* Place your code below: ***********
*/
$template = self::getTemplateName();
$num = $players_nbr;
$this->tpl ['PLS'] = $num;
$this->tpl ['PCOLOR'] = 'ffffff'; // spectator
$gameinfos = $this->game->getGameinfos();
$default_colors = $gameinfos ['player_colors'];
$players = $this->game->getPlayersInOrder($cplayer);
//$gameinfos = $this->game->getGameinfos();
//$default_colors = $gameinfos ['player_colors'];
$this->page->begin_block($template, "player_board");
// inner blocks in player blocks
// boards in players order
foreach ( $players as $player_id => $player ) {
if ($player_id == $cplayer) {
$this->tpl ['PCOLOR'] = $player ['player_color'];
}
$this->processPlayerBlock($player_id, $player);
}
/**
* ********* Do not change anything below this line ***********
*/
}
}