summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bounty/bnt_grant_land.erl | 15 | ||||
-rw-r--r-- | src/player/reply/plr_set_battles.erl | 6 | ||||
-rw-r--r-- | src/player/reply/plr_set_player.erl | 8 | ||||
-rw-r--r-- | src/shared/struct/shr_battle_summary.erl | 14 | ||||
-rw-r--r-- | src/shared/struct/shr_map_summary.erl | 5 | ||||
-rw-r--r-- | src/shared/struct/shr_player.erl | 124 |
6 files changed, 107 insertions, 65 deletions
diff --git a/src/bounty/bnt_grant_land.erl b/src/bounty/bnt_grant_land.erl index d12d30c..aa2a62f 100644 --- a/src/bounty/bnt_grant_land.erl +++ b/src/bounty/bnt_grant_land.erl @@ -39,9 +39,18 @@ attempt (OwnerID) -> shr_player:get_map_summaries_field(), ataxic:apply_function ( - lists, - append, - [ataxic:constant([MapSummary]), ataxic:current_value()] + orddict, + store, + [ + ataxic:apply_function + ( + orddict, + size, + [ataxic:current_value()] + ), + ataxic:constant([MapSummary]), + ataxic:current_value() + ] ) ) ), diff --git a/src/player/reply/plr_set_battles.erl b/src/player/reply/plr_set_battles.erl index a0e6919..4b16ed3 100644 --- a/src/player/reply/plr_set_battles.erl +++ b/src/player/reply/plr_set_battles.erl @@ -22,21 +22,21 @@ generate (Player) -> lists:map ( fun shr_battle_summary:encode/1, - shr_player:get_campaign_summaries(Player) + orddict:to_list(shr_player:get_campaign_summaries(Player)) ), InvasionList = lists:map ( fun shr_battle_summary:encode/1, - shr_player:get_invasion_summaries(Player) + orddict:to_list(shr_player:get_invasion_summaries(Player)) ), EventList = lists:map ( fun shr_battle_summary:encode/1, - shr_player:get_event_summaries(Player) + orddict:to_list(shr_player:get_event_summaries(Player)) ), { diff --git a/src/player/reply/plr_set_player.erl b/src/player/reply/plr_set_player.erl index 2a4b7f6..d946938 100644 --- a/src/player/reply/plr_set_player.erl +++ b/src/player/reply/plr_set_player.erl @@ -22,28 +22,28 @@ generate (PlayerID, Player) -> lists:map ( fun shr_map_summary:encode/1, - shr_player:get_map_summaries(Player) + orddict:to_list(shr_player:get_map_summaries(Player)) ), CampaignList = lists:map ( fun shr_battle_summary:encode/1, - shr_player:get_campaign_summaries(Player) + orddict:to_list(shr_player:get_campaign_summaries(Player)) ), InvasionList = lists:map ( fun shr_battle_summary:encode/1, - shr_player:get_invasion_summaries(Player) + orddict:to_list(shr_player:get_invasion_summaries(Player)) ), EventList = lists:map ( fun shr_battle_summary:encode/1, - shr_player:get_event_summaries(Player) + orddict:to_list(shr_player:get_event_summaries(Player)) ), { diff --git a/src/shared/struct/shr_battle_summary.erl b/src/shared/struct/shr_battle_summary.erl index 9af72b4..5169b2c 100644 --- a/src/shared/struct/shr_battle_summary.erl +++ b/src/shared/struct/shr_battle_summary.erl @@ -3,11 +3,14 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-type category() :: (attack | defend | none). + -record ( battle_summary, { - id :: binary(), + id :: ataxia_id:type(), + category :: category(), name :: binary(), last_edit :: binary(), is_players_turn :: boolean() @@ -16,7 +19,7 @@ -opaque type() :: #battle_summary{}. --export_type([type/0]). +-export_type([type/0, category/0]). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -80,6 +83,7 @@ new (ID, Name, Time, IsPlayersTurn) -> { id = ID, name = Name, + category = none, last_edit = Time, is_players_turn = IsPlayersTurn }. @@ -90,6 +94,7 @@ none () -> { id = <<"">>, name = <<"">>, + category = none, last_edit = <<"">>, is_players_turn = false }. @@ -133,10 +138,11 @@ get_last_edit_field () -> #battle_summary.last_edit. -spec get_is_players_turn_field () -> non_neg_integer(). get_is_players_turn_field () -> #battle_summary.is_players_turn. --spec encode (type()) -> {list(any())}. -encode (BattleSummary) -> +-spec encode ({non_neg_integer(), type()}) -> {list(any())}. +encode ({IX, BattleSummary}) -> { [ + {<<"ix">>, IX}, {<<"id">>, BattleSummary#battle_summary.id}, {<<"nme">>, BattleSummary#battle_summary.name}, {<<"ldt">>, BattleSummary#battle_summary.last_edit}, diff --git a/src/shared/struct/shr_map_summary.erl b/src/shared/struct/shr_map_summary.erl index a7a1283..554b988 100644 --- a/src/shared/struct/shr_map_summary.erl +++ b/src/shared/struct/shr_map_summary.erl @@ -92,10 +92,11 @@ get_id_field () -> #map_summary.id. -spec get_name_field () -> non_neg_integer(). get_name_field () -> #map_summary.name. --spec encode (type()) -> {list(any())}. -encode (MapSummary) -> +-spec encode ({non_neg_integer(), type()}) -> {list(any())}. +encode ({IX, MapSummary}) -> { [ + {<<"ix">>, IX}, {<<"id">>, MapSummary#map_summary.id}, {<<"nme">>, MapSummary#map_summary.name} ] diff --git a/src/shared/struct/shr_player.erl b/src/shared/struct/shr_player.erl index 076c685..6ef6f1f 100644 --- a/src/shared/struct/shr_player.erl +++ b/src/shared/struct/shr_player.erl @@ -15,10 +15,10 @@ token :: binary(), % salt(crypto:strong_rand_bytes(512)) email :: binary(), last_active :: integer(), - maps :: list(shr_map_summary:type()), - campaigns :: list(shr_battle_summary:type()), - invasions :: list(shr_battle_summary:type()), - events :: list(shr_battle_summary:type()), + maps :: orddict:orddict(non_neg_integer(), shr_map_summary:type()), + campaigns :: orddict:orddict(non_neg_integer(), shr_battle_summary:type()), + invasions :: orddict:orddict(non_neg_integer(), shr_battle_summary:type()), + events :: orddict:orddict(non_neg_integer(), shr_battle_summary:type()), roster_id :: binary(), inventory_id :: binary() } @@ -112,6 +112,37 @@ secure_value (Salt, Val) -> -spec new (binary(), binary(), binary()) -> type(). new (Username, Password, Email) -> EmptyBattleSlot = shr_battle_summary:none(), + SixEmptyBattleSlots = + orddict:from_list + ( + [ + {0, EmptyBattleSlot}, + {1, EmptyBattleSlot}, + {2, EmptyBattleSlot}, + {3, EmptyBattleSlot}, + {4, EmptyBattleSlot}, + {5, EmptyBattleSlot} + ] + ), + + NineEmptyBattleSlots = + orddict:store + ( + 6, + EmptyBattleSlot, + orddict:store + ( + 7, + EmptyBattleSlot, + orddict:store + ( + 8, + EmptyBattleSlot, + SixEmptyBattleSlots + ) + ) + ), + Result = #player { @@ -120,41 +151,10 @@ new (Username, Password, Email) -> token = <<"">>, email = Email, last_active = 0, - maps = [], - campaigns = - [ - EmptyBattleSlot, - EmptyBattleSlot, - EmptyBattleSlot, - - EmptyBattleSlot, - EmptyBattleSlot, - EmptyBattleSlot - ], - invasions = - [ - EmptyBattleSlot, - EmptyBattleSlot, - EmptyBattleSlot, - - EmptyBattleSlot, - EmptyBattleSlot, - EmptyBattleSlot, - - EmptyBattleSlot, - EmptyBattleSlot, - EmptyBattleSlot - ], - events = - [ - EmptyBattleSlot, - EmptyBattleSlot, - EmptyBattleSlot, - - EmptyBattleSlot, - EmptyBattleSlot, - EmptyBattleSlot - ], + maps = orddict:new(), + campaigns = SixEmptyBattleSlots, + invasions = NineEmptyBattleSlots, + events = SixEmptyBattleSlots, inventory_id = ataxia_id:null(), roster_id = ataxia_id:null() }, @@ -181,22 +181,38 @@ get_email (Player) -> Player#player.email. -spec get_last_active (type()) -> integer(). get_last_active (Player) -> Player#player.last_active. --spec get_map_summaries (type()) -> list(shr_map_summary:type()). +-spec get_map_summaries + ( + type() + ) + -> orddict:orddict(non_neg_integer(), shr_map_summary:type()). get_map_summaries (Player) -> Player#player.maps. --spec get_campaign_summaries (type()) -> list(shr_battle_summary:type()). +-spec get_campaign_summaries + ( + type() + ) + -> orddict:orddict(non_neg_integer(), shr_battle_summary:type()). get_campaign_summaries (Player) -> Player#player.campaigns. --spec get_invasion_summaries (type()) -> list(shr_battle_summary:type()). +-spec get_invasion_summaries + ( + type() + ) + -> orddict:orddict(non_neg_integer(), shr_battle_summary:type()). get_invasion_summaries (Player) -> Player#player.invasions. --spec get_event_summaries (type()) -> list(shr_battle_summary:type()). +-spec get_event_summaries + ( + type() + ) + -> orddict:orddict(non_neg_integer(), shr_battle_summary:type()). get_event_summaries (Player) -> Player#player.events. --spec get_roster_id (type()) -> binary(). +-spec get_roster_id (type()) -> ataxia_id:type(). get_roster_id (Player) -> Player#player.roster_id. --spec get_inventory_id (type()) -> binary(). +-spec get_inventory_id (type()) -> ataxia_id:type(). get_inventory_id (Player) -> Player#player.inventory_id. -spec set_username (binary(), type()) -> type(). @@ -229,12 +245,17 @@ refresh_active (Player) -> last_active = erlang:system_time(second) }. --spec set_map_summaries (list(shr_map_summary:type()), type()) -> type(). +-spec set_map_summaries + ( + orddict:orddict(non_neg_integer(), shr_map_summary:type()), + type() + ) + -> type(). set_map_summaries (Maps, Player) -> Player#player{ maps = Maps }. -spec set_campaign_summaries ( - list(shr_battle_summary:type()), + orddict:orddict(non_neg_integer(), shr_battle_summary:type()), type() ) -> type(). @@ -246,7 +267,7 @@ set_campaign_summaries (Campaigns, Player) -> -spec set_invasion_summaries ( - list(shr_battle_summary:type()), + orddict:orddict(non_neg_integer(), shr_battle_summary:type()), type() ) -> type(). @@ -256,7 +277,12 @@ set_invasion_summaries (Invasions, Player) -> invasions = Invasions }. --spec set_event_summaries (list(shr_battle_summary:type()), type()) -> type(). +-spec set_event_summaries + ( + orddict:orddict(non_neg_integer(), shr_battle_summary:type()), + type() + ) + -> type(). set_event_summaries (Events, Player) -> Player#player { |