summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-26 19:13:04 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2017-09-26 19:13:04 +0200
commit33e57128d48a012533c42635f52037fcdedd4c56 (patch)
tree05deb83b77311d25168e5966c14c1bf20f17fb79 /client/elm/battlemap/src/Shim
parent9293fb062b0bf66995c72b30e037c762318be000 (diff)
Range indicators are now clickable.
Diffstat (limited to 'client/elm/battlemap/src/Shim')
-rw-r--r--client/elm/battlemap/src/Shim/Battlemap.elm2
-rw-r--r--client/elm/battlemap/src/Shim/Battlemap/Tile.elm52
-rw-r--r--client/elm/battlemap/src/Shim/Model.elm5
3 files changed, 35 insertions, 24 deletions
diff --git a/client/elm/battlemap/src/Shim/Battlemap.elm b/client/elm/battlemap/src/Shim/Battlemap.elm
index 2f795e1..f35cb67 100644
--- a/client/elm/battlemap/src/Shim/Battlemap.elm
+++ b/client/elm/battlemap/src/Shim/Battlemap.elm
@@ -7,5 +7,5 @@ generate =
{
width = 32,
height = 32,
- content = (Shim.Battlemap.Tile.generate)
+ content = (Shim.Battlemap.Tile.generate 32)
}
diff --git a/client/elm/battlemap/src/Shim/Battlemap/Tile.elm b/client/elm/battlemap/src/Shim/Battlemap/Tile.elm
index 55feb14..4f5b40b 100644
--- a/client/elm/battlemap/src/Shim/Battlemap/Tile.elm
+++ b/client/elm/battlemap/src/Shim/Battlemap/Tile.elm
@@ -3,30 +3,42 @@ module Shim.Battlemap.Tile exposing (generate)
import Array
import List
+import Battlemap.Location
import Battlemap.Direction
import Battlemap.Tile
-from_int : Int -> Battlemap.Tile.Type
-from_int i =
- if (i >= 10)
- then
- {
- floor_level = (i - 10),
- nav_level = Battlemap.Direction.None,
- char_level = (Just (toString (i - 10))),
- mod_level = Nothing
- }
- else
- {
- floor_level = i,
- nav_level = Battlemap.Direction.None,
- char_level = Nothing,
- mod_level = Nothing
- }
+from_int : Int -> Int -> Int -> Battlemap.Tile.Type
+from_int map_width index i =
+ let
+ location =
+ (Battlemap.Location.get_ref
+ {
+ x = (index % map_width),
+ y = (index // map_width)
+ }
+ )
+ in
+ if (i >= 10)
+ then
+ {
+ location = location,
+ floor_level = (i - 10),
+ nav_level = Battlemap.Direction.None,
+ char_level = (Just (toString (i - 10))),
+ mod_level = Nothing
+ }
+ else
+ {
+ location = location,
+ floor_level = i,
+ nav_level = Battlemap.Direction.None,
+ char_level = Nothing,
+ mod_level = Nothing
+ }
-generate : (Array.Array Battlemap.Tile.Type)
-generate =
+generate : Int -> (Array.Array Battlemap.Tile.Type)
+generate map_width =
let
as_int_list =
(
@@ -126,6 +138,6 @@ generate =
++ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
]
)
- as_list = (List.map (from_int) as_int_list)
+ as_list = (List.indexedMap (from_int map_width) as_int_list)
in
(Array.fromList as_list)
diff --git a/client/elm/battlemap/src/Shim/Model.elm b/client/elm/battlemap/src/Shim/Model.elm
index 3d6cc5a..03c2450 100644
--- a/client/elm/battlemap/src/Shim/Model.elm
+++ b/client/elm/battlemap/src/Shim/Model.elm
@@ -10,8 +10,8 @@ import Shim.Battlemap
generate =
{
state = Model.Default,
+ selection = Nothing,
battlemap = (Shim.Battlemap.generate),
- navigator = Nothing,
characters =
(Dict.insert
"2"
@@ -49,6 +49,5 @@ generate =
Dict.empty
)
)
- ),
- range_indicator = Dict.empty
+ )
}