Просмотр исходного кода

add gosterge label and i saw okey button

Roman Dayneko 11 лет назад
Родитель
Сommit
bc97589dc2
2 измененных файлов с 17 добавлено и 3 удалено
  1. 14 2
      apps/face/src/index.erl
  2. 3 1
      apps/face/src/protocol.erl

+ 14 - 2
apps/face/src/index.erl

@@ -67,6 +67,8 @@ body() ->
       #button{ id = plusloginbtn, body = <<"Login">>, postback=login_button},
       #label{ body = " Google"},#br{},#br{},
 
+      #label{ id = gosterge, body="Gosterge: "}, #br{},#br{},
+
       #label{ id = player1, body = "Player 1"},
       #dropdown{ id = p1right_combo, options = []},#br{},
 
@@ -100,6 +102,7 @@ body() ->
                },
       #button{ id = discard, body = <<"Discard">>, postback = discard, source=[discard_combo]},
       #button{ id = reveal, body = <<"Reveal">>, postback = reveal, source = [discard_combo]},
+      #button{ id = is_saw_okey, body = <<"I Saw Okey">>, postback = i_saw_okey},
       #button{ id = pause, body = <<"Pause">>, postback = pause},
       #button{ id = player_info, body = <<"PlayerInfo">>, postback = player_info}
     ].
@@ -149,6 +152,10 @@ event(reveal) ->
             wf:info("error discarded ~p", Discarded)
     end;
 
+event(i_saw_okey) ->
+    wf:info("i_saw_okey!"),
+    wf:wire(protocol:i_saw_okey(wf:to_list(?GAMEID)));
+
 event(pause) ->
     Action  =
         case get(game_okey_pause) of 
@@ -174,6 +181,12 @@ event({server, {game_event, _, okey_game_started, Args}}) ->
     {_, Tiles} = lists:keyfind(tiles, 1, Args),
     TilesList = [{wf:to_binary([wf:to_list(C)," ",wf:to_list(V)]), {C, V}} || {_, C, V} <- Tiles],
     %%wf:info("tiles ~p", [TilesList]),
+    case lists:keyfind(gosterge, 1, Args) of
+        {_, {_, C, V}} ->
+            wf:update(gosterge, #label{id = gosterge, body = wf:to_binary(["Gosterge: ", wf:to_list(C), " ", wf:to_list(V)])});
+        _ ->
+            ok
+    end,
     put(game_okey_tiles, TilesList),
     put(game_okey_pause, resume),
     redraw_discard_combo(TilesList);
@@ -322,10 +335,9 @@ event({server,{game_event, _, okey_next_turn, Args}}) ->
     select(LabelId),
     put(okey_turn_mark, LabelId);
 
-
 event({register,User}) -> wf:info("Register: ~p",[User]), kvs:add(User), wf:user(User);
 event({login,User}) -> wf:info("Login: ~p",[User]), kvs:put(User), wf:user(User), event(init);
 
-event(_Event)  -> ok. %wf:info("Event: ~p", [Event]).
+event(_Event)  -> wf:info("Event: ~p", [_Event]).
 
 api_event(X,Y,Z) -> avz:api_event(X,Y,Z).

+ 3 - 1
apps/face/src/protocol.erl

@@ -1,7 +1,7 @@
 -module(protocol).
 -compile({parse_transform, shen}).
 -compile(export_all).
--jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4,piece/2,logout/0,pause/2]).
+-jsmacro([take/2,attach/1,join/1,discard/3,player_info/2,reveal/4,piece/2,logout/0,pause/2,i_saw_okey/1]).
 
 attach(Token) -> ws:send(enc(tuple(atom('client'),tuple(atom("session_attach"), Token)))).
 join(Game) -> ws:send(enc(tuple(atom('client'),tuple(atom("join_game"), Game)))).
@@ -15,3 +15,5 @@ piece(Color,Value) -> tuple(atom("OkeyPiece"), Color, Value).
 reveal(GameId, Color, Value, Hand) ->
     ws:send(enc(tuple(atom('client'),tuple(atom("game_action"),GameId,atom("okey_reveal"),
         [{discarded, tuple(atom("OkeyPiece"), Color, Value)},{hand, Hand}])))).
+i_saw_okey(GameId) ->
+    ws:send(enc(tuple(atom('client'),tuple(atom("game_action"),GameId,atom("okey_i_saw_okey"),[])))).