|
@@ -6,7 +6,7 @@
|
|
|
-include("../../server/include/settings.hrl").
|
|
|
-include_lib("avz/include/avz.hrl").
|
|
|
-include_lib("kvs/include/user.hrl").
|
|
|
--jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4,piece/2,logout/0]).
|
|
|
+-jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4,piece/2,logout/0,pause/3]).
|
|
|
|
|
|
user() -> case wf:user() of undefined -> #user{id="maxim"}; U->U end.
|
|
|
|
|
@@ -58,6 +58,21 @@ reveal(GameId, Color, Value, Hand) ->
|
|
|
[{discarded, bert:tuple(bert:atom("OkeyPiece"), Color, Value)},
|
|
|
{hand, Hand}])))).
|
|
|
|
|
|
+pause(GameId, Action, Who) ->
|
|
|
+ ws:send(
|
|
|
+ bert:encodebuf(
|
|
|
+ bert:tuple(
|
|
|
+ bert:atom("client"),
|
|
|
+ bert:tuple(
|
|
|
+ bert:atom("pause_game"),
|
|
|
+ bert:atom("undefined"),
|
|
|
+ GameId,
|
|
|
+ bert:binary(Action)
|
|
|
+ )
|
|
|
+ )
|
|
|
+ )
|
|
|
+ ).
|
|
|
+
|
|
|
redraw_tiles([{Tile, _}| _ ] = TilesList) ->
|
|
|
wf:update(discard_combo,
|
|
|
[#dropdown{id = discard_combo, postback = combo,
|
|
@@ -96,6 +111,7 @@ body() ->
|
|
|
},
|
|
|
#button{ id = discard, body = <<"Discard">>, postback = discard, source=[discard_combo]},
|
|
|
#button{ id = reveal, body = <<"Reveal">>, postback = reveal, source = [discard_combo]},
|
|
|
+ #button{ id = pause, body = <<"Pause">>, postback = pause},
|
|
|
#button{ id = player_info, body = <<"PlayerInfo">>, postback = player_info}
|
|
|
].
|
|
|
|
|
@@ -142,6 +158,7 @@ event({server, {game_event, _, okey_game_started, Args}}) ->
|
|
|
erlang:integer_to_list(V)]), {C, V}} || {_, C, V} <- Tiles],
|
|
|
wf:info("tiles ~p", [TilesList]),
|
|
|
put(game_okey_tiles, TilesList),
|
|
|
+ put(game_okey_pause, resume),
|
|
|
redraw_tiles(TilesList);
|
|
|
|
|
|
event({server, {game_event, _, okey_tile_discarded, Args}}) ->
|
|
@@ -246,6 +263,20 @@ event(login_button) -> wf:wire(logout());
|
|
|
event({register,User}) -> wf:info("Register: ~p",[User]), kvs:add(User), wf:user(User);
|
|
|
event({login,User}) -> wf:info("Login: ~p",[User]), wf:user(User);
|
|
|
|
|
|
-event(Event) -> wf:info("Event: ~p", [Event]).
|
|
|
+event(pause) ->
|
|
|
+ Action =
|
|
|
+ case get(game_okey_pause) of
|
|
|
+ resume ->
|
|
|
+ put(game_okey_pause, pause),
|
|
|
+ wf:update(pause, [#button{id = pause, body = "Resume", postback = pause}]),
|
|
|
+ "pause";
|
|
|
+ pause ->
|
|
|
+ put(game_okey_pause, resume),
|
|
|
+ wf:update(pause, [#button{id = pause, body = <<"Pause">>, postback = pause}]),
|
|
|
+ "resume"
|
|
|
+ end,
|
|
|
+ wf:wire(pause("1000001", wf:f("~p", [Action]), wf:f("~p", [wf:to_list(get(okey_im))])));
|
|
|
+
|
|
|
+event(Event) -> wf:info("Event: ~p", [Event]).
|
|
|
|
|
|
api_event(X,Y,Z) -> avz:api_event(X,Y,Z).
|