summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'www/handler')
-rw-r--r-- | www/handler/battlemap/character_turn.yaws | 32 | ||||
-rw-r--r-- | www/handler/battlemap/load_state.yaws | 40 |
2 files changed, 70 insertions, 2 deletions
diff --git a/www/handler/battlemap/character_turn.yaws b/www/handler/battlemap/character_turn.yaws index 8b0a229..c42e26b 100644 --- a/www/handler/battlemap/character_turn.yaws +++ b/www/handler/battlemap/character_turn.yaws @@ -1,8 +1,38 @@ <erl> +handle (Req) -> + io:format("~nReceived~p...", [Req]), + JSON_Req_Map = jiffy:decode(Req, [return_maps]), + UserToken = maps:get(<<"user_token">>, JSON_Req_Map), + io:format("~nCharacter Turn for ~p...", [UserToken]), +%% ok = users_manager:ping(UserToken), + jiffy:encode( + { + [ + {<<"types">>, [<<"STATUS">>]}, + { + <<"data">>, + [ + jiffy:encode + ( + { + [ + { + <<"status">>, + <<"OK">> + } + ] + } + ) + ] + } + ] + } + ). + out(A) -> { content, "application/json; charset=UTF-8", - battlemap_character_turn:handle(A#arg.clidata) + handle(A#arg.clidata) }. </erl> diff --git a/www/handler/battlemap/load_state.yaws b/www/handler/battlemap/load_state.yaws index c778b66..fb7cda6 100644 --- a/www/handler/battlemap/load_state.yaws +++ b/www/handler/battlemap/load_state.yaws @@ -1,8 +1,46 @@ <erl> +-record(input, {battlemap_id}). + +parse_input (Req) -> + JSONReqMap = jiffy:decode(Req, [return_maps]), + #input { + battlemap_id = maps:get(<<"battlemap_id">>, JSONReqMap) + }. + +fetch_battlemap (Input) -> + {Battlemap, CharList} = + timed_cache:fetch( + battlemap_db, + Input#input.battlemap_id + ), + +handle (Req) -> + Input = parse_input(Req), + io:format("~nLoading Battlemap ~p...~n", [Input#input.battlemap_id]), +%% ok = users_manager:ping(UserToken), + jiffy:encode( + [ + [ + <<"set_map">>, + battlemap:encode_in_json(Battlemap) + ] + | + lists:map( + fun (Char) -> + [ + <<"add_char">>, + character:encode_in_json(Char) + ] + end, + CharList + ) + ] + ). + out(A) -> { content, "application/json; charset=UTF-8", - battlemap_load_state:handle(A#arg.clidata) + handle(A#arg.clidata) }. </erl> |