| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/battlemap/struct/bm_battle_action.erl')
| -rw-r--r-- | src/battlemap/struct/bm_battle_action.erl | 114 | 
1 files changed, 0 insertions, 114 deletions
diff --git a/src/battlemap/struct/bm_battle_action.erl b/src/battlemap/struct/bm_battle_action.erl deleted file mode 100644 index 1bc0f3b..0000000 --- a/src/battlemap/struct/bm_battle_action.erl +++ /dev/null @@ -1,114 +0,0 @@ --module(bm_battle_action). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --record -( -   move, -   { -      path :: list(bm_direction:enum()) -   } -). - --record -( -   switch_weapon, -   { -   } -). - --record -( -   attack, -   { -      target_ix :: non_neg_integer() -   } -). - --type category() :: ('move' | 'switch_weapon' | 'attack' | 'nothing'). --opaque type() :: (#move{} | #switch_weapon{} | #attack{}). - --export_type([category/0, type/0]). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export -( -   [ -      decode/1, -      can_follow/2 -   ] -). - --export -( -   [ -      get_path/1, -      get_target_ix/1, -      get_category/1 -   ] -). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec decode_mov_action (map()) -> type(). -decode_mov_action (JSONMap) -> -   PathInBinary = maps:get(<<"p">>, JSONMap), -   Path = lists:map(fun bm_direction:decode/1, PathInBinary), - -   #move { path = Path }. - --spec decode_atk_action (map()) -> type(). -decode_atk_action (JSONMap) -> -   TargetIX = maps:get(<<"tix">>, JSONMap), - -   #attack { target_ix = TargetIX }. - --spec decode_swp_action (map()) -> type(). -decode_swp_action (_JSONMap) -> -   #switch_weapon{}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec decode (map()) -> type(). -decode (EncodedAction) -> -   JSONActionMap = EncodedAction, %jiffy:decode(EncodedAction, [return_maps]), -   ActionType = maps:get(<<"t">>, JSONActionMap), -   case ActionType of -      <<"mov">> -> decode_mov_action(JSONActionMap); -      <<"atk">> -> decode_atk_action(JSONActionMap); -      <<"swp">> -> decode_swp_action(JSONActionMap) -   end. - --spec can_follow (category(), category()) -> boolean(). -can_follow (nothing, attack) -> true; -can_follow (nothing, switch_weapon) -> true; -can_follow (nothing, move) -> true; -can_follow (switch_weapon, attack) -> true; -can_follow (move, attack) -> true; -can_follow (_, _) -> false. - --spec get_path (type()) -> list(bm_direction:type()). -get_path (Action) when is_record(Action, move) -> -   Action#move.path; -get_path (_) -> -   []. - --spec get_target_ix (type()) -> non_neg_integer(). -get_target_ix (Action) when is_record(Action, attack) -> -   Action#attack.target_ix; -get_target_ix (_) -> -   []. - --spec get_category (type()) -> category(). -get_category (Action) when is_record(Action, attack) -> attack; -get_category (Action) when is_record(Action, move) -> move; -get_category (Action) when is_record(Action, switch_weapon) -> switch_weapon; -get_category (Action) -> -   io:format("How'd you get there?~p~n", [Action]), -   true = Action. -  | 


