summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-01-17 15:08:01 +0100 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-01-17 15:08:01 +0100 |
commit | 06eaf5b16fb88113a39380b70dd9e0b7d5a8bfca (patch) | |
tree | 824c774bf4bc237f6c5d2e432981036f9b1867e5 /src/shared/struct | |
parent | e120388a529c1fdeeae40beb9391c86c92c1ac07 (diff) |
...
Diffstat (limited to 'src/shared/struct')
-rw-r--r-- | src/shared/struct/shr_battle_summary.erl | 14 | ||||
-rw-r--r-- | src/shared/struct/shr_player.erl | 57 |
2 files changed, 31 insertions, 40 deletions
diff --git a/src/shared/struct/shr_battle_summary.erl b/src/shared/struct/shr_battle_summary.erl index 1d9934a..812211e 100644 --- a/src/shared/struct/shr_battle_summary.erl +++ b/src/shared/struct/shr_battle_summary.erl @@ -31,7 +31,8 @@ ( [ new/4, - none/0 + none/1, + none/2 ] ). @@ -102,14 +103,17 @@ new (ID, Name, Mode, Category) -> is_pending = true }. --spec none () -> type(). -none () -> +-spec none (category()) -> type(). +none (Category) -> none(none, Category). + +-spec none (mode(), category()) -> type(). +none (Mode, Category) -> #battle_summary { id = ataxia_id:null(), name = <<"">>, - mode = none, - category = event, + mode = Mode, + category = Category, deadline = ataxia_time:never(), is_players_turn = false, is_pending = false diff --git a/src/shared/struct/shr_player.erl b/src/shared/struct/shr_player.erl index 6ef6f1f..329f08d 100644 --- a/src/shared/struct/shr_player.erl +++ b/src/shared/struct/shr_player.erl @@ -106,43 +106,30 @@ secure_value (Salt, Val) -> HashedSaltedVal. +-spec generate_battle_slots + ( + non_neg_integer(), + shr_battle_summary:category(), + orddict:orddict(non_neg_integer(), shr_battle_summary:type()) + ) + -> orddict:orddict(non_neg_integer(), shr_battle_summary:type()). +generate_battle_slots (0, _, Result) -> + Result; +generate_battle_slots (PrevIX, Category, Result) -> + IX = (PrevIX - 1), + + generate_battle_slots + ( + IX, + Category, + orddict:store(IX, shr_battle_summary:none(Category), Result) + ). + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -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 { @@ -152,9 +139,9 @@ new (Username, Password, Email) -> email = Email, last_active = 0, maps = orddict:new(), - campaigns = SixEmptyBattleSlots, - invasions = NineEmptyBattleSlots, - events = SixEmptyBattleSlots, + campaigns = generate_battle_slots(6, campaign, orddict:new()), + invasions = generate_battle_slots(9, invasion, orddict:new()), + events = generate_battle_slots(6, event, orddict:new()), inventory_id = ataxia_id:null(), roster_id = ataxia_id:null() }, |