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

store GamePid is more reliable storage

Maxim Sokhatsky 11 лет назад
Родитель
Сommit
9da6df8763
2 измененных файлов с 6 добавлено и 3 удалено
  1. 3 1
      apps/face/src/index.erl
  2. 3 2
      apps/server/src/game_session.erl

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

@@ -67,6 +67,7 @@ event(init) ->
     {ok,GamePid} = game_session:start_link(self()),
     event(attach),
     event(join),
+    ets:insert(globals,{wf:session_id(),GamePid}),
     put(game_session, GamePid);
 
 event(combo)  -> wf:info("Combo: ~p",[wf:q(dddiscard)]);
@@ -86,7 +87,8 @@ event(discard) ->
 event({binary,M}) -> {ok,<<"Hello">>};
 
 event({client,Message}) ->
-    GamePid = get(game_session),
+%    GamePid = get(game_session),
+    [{_,GamePid}] = ets:lookup(globals,wf:session_id()),
     game_session:process_request(GamePid, Message);
 
 event({server, {game_event, _, okey_game_started, Args}}) ->

+ 3 - 2
apps/server/src/game_session.erl

@@ -493,5 +493,6 @@ get_relay(GameId, GameList) ->
 % TODO: flush message to web socket process
 
 send_message_to_player(Pid, Message) ->
-    ?INFO("MESSAGE to ~p ~p",[Pid,Message]),
-    Pid ! {server,Message}, ok.
+    gas:info("MESSAGE to ~p ~p",[Pid,Message]),
+    Pid ! {server,Message},
+    ok.