-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmagicmaze.action.php
87 lines (80 loc) · 2.89 KB
/
magicmaze.action.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
<?php
/**
*------
* BGA framework: © Gregory Isabelli <gisabelli@boardgamearena.com> & Emmanuel Colin <ecolin@boardgamearena.com>
* MagicMaze implementation : © Patrick Xia <patrick.xia@gmail.com>
*
* This code has been produced on the BGA studio platform for use on https://boardgamearena.com.
* See http://en.doc.boardgamearena.com/Studio for more information.
* -----
*
* magicmaze.action.php
*
* MagicMaze main action entry point
*
*
* In this file, you are describing all the methods that can be called from your
* user interface logic (javascript).
*
* If you define a method "myAction" here, then you can call it from your javascript code with:
* this.ajaxcall( "/magicmaze/magicmaze/myAction.html", ...)
*/
class action_magicmaze extends APP_GameAction {
// Constructor: please do not modify
public function __default() {
if (self::isArg('notifwindow')) {
$this->view = 'common_notifwindow';
$this->viewArgs['table'] = self::getArg('table', AT_posint, true);
} else {
$this->view = 'magicmaze_magicmaze';
self::trace('Complete reinitialization of board game');
}
}
public function placeTile() {
self::setAjaxMode();
$id = self::getArg('tile_id', AT_int, true);
$x = self::getArg('x', AT_int, true);
$y = self::getArg('y', AT_int, true);
$this->game->placeTileFrom($id, $x, $y);
self::ajaxResponse();
}
public function attemptMove() {
self::setAjaxMode();
$id = self::getArg('token_id', AT_int, true);
$x = self::getArg('x', AT_int, true);
$y = self::getArg('y', AT_int, true);
$keepmoving = self::getArg('keep_moving', AT_bool, false, false);
$this->game->attemptMove($id, $x, $y, $keepmoving);
self::ajaxResponse();
}
public function attemptWarp() {
self::setAjaxMode();
$x = self::getArg('x', AT_int, true);
$y = self::getArg('y', AT_int, true);
$this->game->attemptWarp($x, $y);
self::ajaxResponse();
}
public function attemptEscalator() {
self::setAjaxMode();
$id = self::getArg('token_id', AT_int, true);
$this->game->attemptEscalator($id);
self::ajaxResponse();
}
public function attemptExplore() {
self::setAjaxMode();
$id = self::getArg('token_id', AT_int, true);
$this->game->attemptExplore($id);
self::ajaxResponse();
}
public function notify() {
self::setAjaxMode();
$id = self::getArg('player_id', AT_int, true);
$this->game->setAttentionPawn($id);
self::ajaxResponse();
}
public function refreshDeadline() {
self::setAjaxMode();
$this->game->userRefreshDeadline();
self::ajaxResponse();
}
}