summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-21 17:23:56 +0100
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-12-21 17:23:56 +0100
commita81ff643a823dde57ebd0ed5da8a91fb75d32267 (patch)
treedc7dd9e17bb380d05d446b10e7630db340c5998e /src/battle/query
parentc69fe90821bba84c70b020a2504fe4ed63072158 (diff)
Removes any use of arrays.
Diffstat (limited to 'src/battle/query')
-rw-r--r--src/battle/query/btl_character_turn.erl6
-rw-r--r--src/battle/query/btl_load.erl38
2 files changed, 26 insertions, 18 deletions
diff --git a/src/battle/query/btl_character_turn.erl b/src/battle/query/btl_character_turn.erl
index 76613ba..32ec9be 100644
--- a/src/battle/query/btl_character_turn.erl
+++ b/src/battle/query/btl_character_turn.erl
@@ -85,7 +85,7 @@ assert_user_owns_played_character (Data, Request) ->
Players = btl_battle:get_players(Battle),
Character = btl_character_turn_data:get_character(Data),
CharacterPlayerIX = btl_character:get_player_index(Character),
- CharacterPlayer = array:get(CharacterPlayerIX, Players),
+ CharacterPlayer = orddict:fetch(CharacterPlayerIX, Players),
CharacterPlayerID = btl_player:get_id(CharacterPlayer),
true = (PlayerID == CharacterPlayerID),
@@ -130,7 +130,7 @@ finalize_character (Update) ->
ataxic:update_field
(
btl_battle:get_characters_field(),
- ataxic_sugar:update_array_cell
+ ataxic_sugar:update_orddict_element
(
btl_character_turn_data:get_character_ix(Data),
ataxic:update_field
@@ -182,7 +182,7 @@ update_timeline (Update) ->
ataxic:update_field
(
btl_battle:get_players_field(),
- ataxic_sugar:update_array_cell
+ ataxic_sugar:update_orddict_element
(
PlayerIX,
ataxic:update_field
diff --git a/src/battle/query/btl_load.erl b/src/battle/query/btl_load.erl
index 64e9354..7c7d4ab 100644
--- a/src/battle/query/btl_load.erl
+++ b/src/battle/query/btl_load.erl
@@ -85,13 +85,13 @@ generate_reply (QueryState, Input) ->
Battle = QueryState#query_state.battle,
Players = btl_battle:get_players(Battle),
- PlayerIX =
- shr_array_util:first
+ {value, {PlayerIX, _Player}} =
+ shr_lists_util:search
(
- fun (Player) ->
+ fun ({_PlayerIX, Player}) ->
(btl_player:get_id(Player) == PlayerID)
end,
- Players
+ orddict:to_list(Players)
),
true = (PlayerIX >= 0),
@@ -105,15 +105,21 @@ generate_reply (QueryState, Input) ->
SetMap = btl_set_map:generate(btl_battle:get_map(Battle)),
AddCharList =
- array:sparse_to_list
+ lists:map
+ (
+ fun ({IX, Character}) ->
+ btl_add_char:generate(IX, Character, PlayerIX)
+ end,
+ orddict:to_list(btl_battle:get_characters(Battle))
+ ),
+
+ AddPortraitList =
+ lists:map
(
- array:map
- (
- fun (IX, Character) ->
- btl_add_char:generate(IX, Character, PlayerIX)
- end,
- btl_battle:get_characters(Battle)
- )
+ fun (PortraitID) ->
+ btl_add_portrait:generate(shr_portrait:from_id(PortraitID))
+ end,
+ ordsets:to_list(btl_battle:get_used_portrait_ids(Battle))
),
AddWeaponList =
@@ -122,7 +128,7 @@ generate_reply (QueryState, Input) ->
fun (WeaponID) ->
btl_add_weapon:generate(shr_weapon:from_id(WeaponID))
end,
- btl_battle:get_used_weapon_ids(Battle)
+ ordsets:to_list(btl_battle:get_used_weapon_ids(Battle))
),
AddArmorList =
@@ -131,7 +137,7 @@ generate_reply (QueryState, Input) ->
fun (ArmorID) ->
btl_add_armor:generate(shr_armor:from_id(ArmorID))
end,
- btl_battle:get_used_armor_ids(Battle)
+ ordsets:to_list(btl_battle:get_used_armor_ids(Battle))
),
AddTileList =
@@ -140,16 +146,18 @@ generate_reply (QueryState, Input) ->
fun (TileClassID) ->
btl_add_tile:generate(shr_tile:from_class_id(TileClassID))
end,
- btl_battle:get_used_tile_ids(Battle)
+ ordsets:to_list(btl_battle:get_used_tile_ids(Battle))
),
OutputList =
(
AddTileList
++ [SetTimeline, SetMap | AddWeaponList]
+ ++ AddPortraitList
++ AddArmorList
++ AddCharList
),
+
Output = jiffy:encode(OutputList),
Output.