summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-11-25 18:05:46 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-11-25 18:05:46 +0100 |
commit | 4094b24940779d298a3ff97525ac40deac093cab (patch) | |
tree | 43584afa8b22e571c4de0a0876381a1de7e96e06 /src/shared/battle-map/BattleMap/Struct | |
parent | a2bac44a4c8abc064de55d0779edcb07aaa86e62 (diff) |
...
Diffstat (limited to 'src/shared/battle-map/BattleMap/Struct')
4 files changed, 45 insertions, 26 deletions
diff --git a/src/shared/battle-map/BattleMap/Struct/DataSet.elm b/src/shared/battle-map/BattleMap/Struct/DataSet.elm index d81daaf..33ac224 100644 --- a/src/shared/battle-map/BattleMap/Struct/DataSet.elm +++ b/src/shared/battle-map/BattleMap/Struct/DataSet.elm @@ -4,6 +4,7 @@ module BattleMap.Struct.DataSet exposing new, is_ready, get_tile, + get_tiles, add_tile ) @@ -45,6 +46,12 @@ is_ready data_set = -------------- ---- Tile ---- -------------- +get_tiles : ( + Type -> + (Dict.Dict BattleMap.Struct.Tile.Ref BattleMap.Struct.Tile.Type) + ) +get_tiles dataset = dataset.tiles + get_tile : ( BattleMap.Struct.Tile.Ref -> Type -> diff --git a/src/shared/battle-map/BattleMap/Struct/DataSetItem.elm b/src/shared/battle-map/BattleMap/Struct/DataSetItem.elm new file mode 100644 index 0000000..c36906f --- /dev/null +++ b/src/shared/battle-map/BattleMap/Struct/DataSetItem.elm @@ -0,0 +1,27 @@ +module BattleMap.Struct.DataSetItem exposing (Type(..), add_to) + +-- Battle Map ------------------------------------------------------------------ +import BattleMap.Struct.DataSet +import BattleMap.Struct.Tile + +-------------------------------------------------------------------------------- +-- TYPES ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +type Type = + Tile BattleMap.Struct.Tile.Type + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +add_to : ( + Type -> + BattleMap.Struct.DataSet.Type -> + BattleMap.Struct.DataSet.Type + ) +add_to item dataset = + case item of + (Tile tl) -> (BattleMap.Struct.DataSet.add_tile tl dataset) diff --git a/src/shared/battle-map/BattleMap/Struct/Map.elm b/src/shared/battle-map/BattleMap/Struct/Map.elm index 35b8a1f..1f254ac 100644 --- a/src/shared/battle-map/BattleMap/Struct/Map.elm +++ b/src/shared/battle-map/BattleMap/Struct/Map.elm @@ -169,16 +169,12 @@ try_getting_tile_at loc map = then (Array.get (location_to_index loc map) map.content) else Nothing -solve_tiles : ( - (Dict.Dict BattleMap.Struct.Tile.Ref BattleMap.Struct.Tile.Type) -> - Type -> - Type - ) -solve_tiles tiles map = +solve_tiles : BattleMap.Struct.DataSet.Type -> Type -> Type +solve_tiles dataset map = {map | content = (Array.map - (BattleMap.Struct.TileInstance.solve tiles) map.content + (BattleMap.Struct.TileInstance.solve dataset) map.content ) } diff --git a/src/shared/battle-map/BattleMap/Struct/TileInstance.elm b/src/shared/battle-map/BattleMap/Struct/TileInstance.elm index 87d2762..aca7f49 100644 --- a/src/shared/battle-map/BattleMap/Struct/TileInstance.elm +++ b/src/shared/battle-map/BattleMap/Struct/TileInstance.elm @@ -36,6 +36,7 @@ import Json.Decode import Json.Decode.Pipeline -- Battle Map ------------------------------------------------------------------ +import BattleMap.Struct.DataSet import BattleMap.Struct.Tile import BattleMap.Struct.Location @@ -147,25 +148,13 @@ get_local_variant_ix tile_inst = ) ) -solve : ( - (Dict.Dict BattleMap.Struct.Tile.Ref BattleMap.Struct.Tile.Type) -> - Type -> - Type - ) -solve tiles tile_inst = - case (Dict.get tile_inst.class_id tiles) of - (Just tile) -> - {tile_inst | - crossing_cost = (BattleMap.Struct.Tile.get_cost tile), - family = (BattleMap.Struct.Tile.get_family tile) - } - - Nothing -> - {tile_inst | - crossing_cost = -1, - family = "-1" - } - +solve : BattleMap.Struct.DataSet.Type -> Type -> Type +solve dataset tile_inst = + let tile = (BattleMap.Struct.DataSet.get_tile tile_inst.class_id dataset) in + {tile_inst | + crossing_cost = (BattleMap.Struct.Tile.get_cost tile), + family = (BattleMap.Struct.Tile.get_family tile) + } list_to_borders : ( (List String) -> |