summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/battle-map/BattleMap/Struct')
-rw-r--r--src/shared/battle-map/BattleMap/Struct/DataSet.elm7
-rw-r--r--src/shared/battle-map/BattleMap/Struct/DataSetItem.elm27
-rw-r--r--src/shared/battle-map/BattleMap/Struct/Map.elm10
-rw-r--r--src/shared/battle-map/BattleMap/Struct/TileInstance.elm27
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) ->