From d35cd5304d334582d8479062a52a8c7b34f892a1 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Sun, 25 Feb 2018 12:31:54 +0100 Subject: Fixes a few typos, adds 'unimplemented' functions. --- src/query/load_state.erl | 61 +++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 29 deletions(-) (limited to 'src/query/load_state.erl') diff --git a/src/query/load_state.erl b/src/query/load_state.erl index 4f0b484..d17c78d 100644 --- a/src/query/load_state.erl +++ b/src/query/load_state.erl @@ -32,9 +32,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% parse_input (Req) -> JSONReqMap = jiffy:decode(Req, [return_maps]), - PlayerID = maps:get(<<"player_id">>, JSONReqMap), - SessionToken = maps:get(<<"session_token">>, JSONReqMap), - BattlemapInstanceID = maps:get(<<"battlemap_id">>, JSONReqMap), + PlayerID = maps:get(<<"pid">>, JSONReqMap), + SessionToken = maps:get(<<"stk">>, JSONReqMap), + BattlemapInstanceID = maps:get(<<"bmi">>, JSONReqMap), #input { @@ -43,32 +43,39 @@ parse_input (Req) -> battlemap_instance_id = BattlemapInstanceID }. -generate_reply (Battlemap, BattlemapInstance, Characters, PlayerID) -> +fetch_data (Input) -> + PlayerID = Input#input.player_id, + BattlemapInstanceID = Input#input.battlemap_instance_id, + + BattlemapInstance = + timed_cache:fetch + ( + battlemap_instance_db, + PlayerID, + BattlemapInstanceID + ), + + #query_state + { + battlemap_instance = BattlemapInstance + }. + +generate_reply (QueryState) -> + BattlemapInstance = QueryState#query_state.battlemap_instance, jiffy:encode ( [ - set_map:generate(Battlemap) + set_map:generate(battlemap_instange:get_battlemap(BattlemapInstance)) | - lists:map + array:to_list ( - fun ({Char, CharInstance}) -> - add_char:generate - ( - Char, - CharInstance, - ( - battlemap_instance:can_play_char_instance - ( - BattlemapInstance, - PlayerID, - character:get_id(Char) - ) - and - (not character_instance:is_dead(CharInstance)) - ) - ) - end, - Characters + array:map + ( + fun (CharacterInstance) -> + add_char:generate(CharacterInstance) + end, + battlemap_instance:get_character_instances(BattlemapInstance) + ) ) ] ). @@ -79,11 +86,7 @@ handle (Req) -> security:lock_queries(Input#input.player_id), QueryState = fetch_data(Input), security:unlock_queries(Input#input.player_id), - generate_reply - ( - QueryState, - Input - ). + generate_reply(QueryState). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- cgit v1.2.3-70-g09d2