| summaryrefslogtreecommitdiff | 
diff options
| -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     { | 


