| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'elm/battlemap/src/Battlemap/Tile.elm')
| -rw-r--r-- | elm/battlemap/src/Battlemap/Tile.elm | 45 | 
1 files changed, 45 insertions, 0 deletions
| diff --git a/elm/battlemap/src/Battlemap/Tile.elm b/elm/battlemap/src/Battlemap/Tile.elm new file mode 100644 index 0000000..986cb2a --- /dev/null +++ b/elm/battlemap/src/Battlemap/Tile.elm @@ -0,0 +1,45 @@ +module Battlemap.Tile exposing +   ( +      Type, +      TileModifier(..), +      set_direction, +      set_navigation, +      reset_tile +   ) + +import Battlemap.Direction +import Battlemap.Location + +import Character + +type TileModifier = +   CanBeReached +   | CanBeAttacked + +type alias Type = +   { +      location : Battlemap.Location.Ref, +      floor_level : Int, +      nav_level : Battlemap.Direction.Type, +      char_level : (Maybe Character.Ref), +      mod_level : (Maybe TileModifier) +   } + +set_direction : Battlemap.Direction.Type -> Type -> Type +set_direction d t = +   {t | +      nav_level = d +   } + +set_navigation : Battlemap.Direction.Type -> Type -> Type +set_navigation dir t = +   {t | +      nav_level = dir +   } + +reset_tile : Type -> Type +reset_tile t = +   {t | +      nav_level = Battlemap.Direction.None, +      mod_level = Nothing +   } | 


