summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/battle-map/BattleMap/Struct/Map.elm')
-rw-r--r--src/shared/battle-map/BattleMap/Struct/Map.elm27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/shared/battle-map/BattleMap/Struct/Map.elm b/src/shared/battle-map/BattleMap/Struct/Map.elm
index ed6c587..7b31947 100644
--- a/src/shared/battle-map/BattleMap/Struct/Map.elm
+++ b/src/shared/battle-map/BattleMap/Struct/Map.elm
@@ -15,6 +15,7 @@ module BattleMap.Struct.Map exposing
get_width,
new,
set_tile_to,
+ update_tile_at,
solve_tiles,
maybe_get_tile_at
)
@@ -136,12 +137,36 @@ add_marker marker_name marker map =
)
}
-set_tile_to : BattleMap.Struct.Location.Type -> BattleMap.Struct.TileInstance.Type -> Type -> Type
+set_tile_to : (
+ BattleMap.Struct.Location.Type ->
+ BattleMap.Struct.TileInstance.Type ->
+ Type ->
+ Type
+ )
set_tile_to loc tile_inst map =
{map |
content = (Array.set (location_to_index loc map) tile_inst map.content)
}
+update_tile_at : (
+ BattleMap.Struct.Location.Type ->
+ (
+ BattleMap.Struct.TileInstance.Type ->
+ BattleMap.Struct.TileInstance.Type
+ ) ->
+ Type ->
+ Type
+ )
+update_tile_at loc fun map =
+ {map |
+ content =
+ (Shared.Util.Array.update
+ (location_to_index loc map)
+ (fun)
+ map.content
+ )
+ }
+
empty : Type
empty =
{