summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2018-07-11 17:54:14 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2018-07-11 17:54:14 +0200 |
commit | fde827cba1ff3d889135c74ee1978098465fd200 (patch) | |
tree | d6022f800aa8226bf79a26a19189965c8cbfb2fe /src/battlemap/query/bm_load_state.erl | |
parent | df59024199c387903e3d4a901171939a358489d3 (diff) |
"Battlemap" -> "Battle".
Diffstat (limited to 'src/battlemap/query/bm_load_state.erl')
-rw-r--r-- | src/battlemap/query/bm_load_state.erl | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/src/battlemap/query/bm_load_state.erl b/src/battlemap/query/bm_load_state.erl deleted file mode 100644 index 505ec3b..0000000 --- a/src/battlemap/query/bm_load_state.erl +++ /dev/null @@ -1,159 +0,0 @@ --module(bm_load_state). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("../../../include/yaws_api.hrl"). - --record -( - input, - { - player_id :: bm_player:id(), - session_token :: binary(), - battle_id :: binary() - } -). - --record -( - query_state, - { - battle :: bm_battle:type() - } -). - --type input() :: #input{}. --type query_state() :: #query_state{}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export([out/1]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec parse_input (binary()) -> input(). -parse_input (Req) -> - JSONReqMap = jiffy:decode(Req, [return_maps]), - PlayerID = maps:get(<<"pid">>, JSONReqMap), - SessionToken = maps:get(<<"stk">>, JSONReqMap), - BattleID = maps:get(<<"bmi">>, JSONReqMap), - - #input - { - player_id = PlayerID, - session_token = SessionToken, - battle_id = BattleID - }. - --spec fetch_data (input()) -> query_state(). -fetch_data (Input) -> - PlayerID = Input#input.player_id, - BattleID = Input#input.battle_id, - - Battle = sh_timed_cache:fetch(battle_db, PlayerID, BattleID), - - #query_state - { - battle = Battle - }. - --spec generate_reply(query_state(), input()) -> binary(). -generate_reply (QueryState, Input) -> - PlayerID = Input#input.player_id, - Battle = QueryState#query_state.battle, - Players = bm_battle:get_players(Battle), - - PlayerIX = - sh_array_util:first - ( - fun (Player) -> - (bm_player:get_id(Player) == PlayerID) - end, - Players - ), - - true = (PlayerIX >= 0), - - SetTimeline = - bm_set_timeline:generate - ( - bm_battle:get_encoded_last_turns_effects(Battle) - ), - - SetMap = bm_set_map:generate(bm_battle:get_battlemap(Battle)), - - AddCharList = - array:sparse_to_list - ( - array:map - ( - fun (IX, Character) -> - bm_add_char:generate(IX, Character, PlayerIX) - end, - bm_battle:get_characters(Battle) - ) - ), - - AddWeaponList = - lists:map - ( - fun (WeaponID) -> - bm_add_weapon:generate(sh_weapon:from_id(WeaponID)) - end, - bm_battle:get_used_weapon_ids(Battle) - ), - - AddArmorList = - lists:map - ( - fun (ArmorID) -> - bm_add_armor:generate(sh_armor:from_id(ArmorID)) - end, - bm_battle:get_used_armor_ids(Battle) - ), - - AddTileList = - lists:map - ( - fun (TileID) -> - bm_add_tile:generate(bm_tile:from_id(TileID)) - end, - bm_battle:get_used_tile_ids(Battle) - ), - - OutputList = - ( - AddTileList - ++ [SetTimeline, SetMap | AddWeaponList] - ++ AddArmorList - ++ AddCharList - ), - Output = jiffy:encode(OutputList), - - Output. - --spec handle (binary()) -> binary(). -handle (Req) -> - Input = parse_input(Req), - bm_security:assert_identity - ( - Input#input.player_id, - Input#input.session_token - ), - bm_security:lock_queries(Input#input.player_id), - QueryState = fetch_data(Input), - bm_security:unlock_queries(Input#input.player_id), - generate_reply(QueryState, Input). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -out(A) -> - { - content, - "application/json; charset=UTF-8", - handle(A#arg.clidata) - }. |