summaryrefslogtreecommitdiff |
diff options
author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-10-18 20:59:41 +0200 |
---|---|---|
committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2017-10-18 20:59:41 +0200 |
commit | 96d7905f7faef941f5454fd2c8b0b50a294fd26c (patch) | |
tree | 77377c56ed005fc56dcaad506f0f12bb598fef66 /elm/battlemap/src/View | |
parent | 2805c647010cbcca126ebf162fcbdd691fc72488 (diff) |
Borked mouse controls for the navigator, it seems.
Diffstat (limited to 'elm/battlemap/src/View')
-rw-r--r-- | elm/battlemap/src/View/Battlemap.elm | 88 | ||||
-rw-r--r-- | elm/battlemap/src/View/Battlemap/Navigator.elm | 17 | ||||
-rw-r--r-- | elm/battlemap/src/View/Battlemap/Tile.elm | 39 |
3 files changed, 126 insertions, 18 deletions
diff --git a/elm/battlemap/src/View/Battlemap.elm b/elm/battlemap/src/View/Battlemap.elm index 1e10a2a..efe4d1e 100644 --- a/elm/battlemap/src/View/Battlemap.elm +++ b/elm/battlemap/src/View/Battlemap.elm @@ -1,26 +1,78 @@ -module View.Battlemap exposing (view) +module View.Battlemap exposing (get_html) + +import Array + +import List + +import Html +import Html.Attributes +import Html.Events + +import Battlemap + +import Character import View.Battlemap.Tile import View.Battlemap.Navigator -view : Battlemap.Type -> (Html.Html Event.Type) -view battlemap = +import Event +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +char_on_map : Int -> Character.Type -> (Html.Html Event.Type) +char_on_map tile_size char = + let + char_loc = (Character.get_location char) + in + (Html.div + [ + (Html.Attributes.class "battlemap-character-icon"), + (Html.Attributes.class + ("asset-character-icon-" ++ (Character.get_icon_id char)) + ), + (Html.Events.onClick + (Event.CharacterSelected (Character.get_ref char)) + ), + (Html.Attributes.style + [ + ("top", ((toString (char_loc.y * tile_size)) ++ "px")), + ("left", ((toString (char_loc.x * tile_size)) ++ "px")) + ] + ) + ] + [ + ] + ) + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_html : ( + Battlemap.Type -> + Int -> + (List Character.Type) -> + (Html.Html Event.Type) + ) +get_html battlemap tile_size characters = (Html.div [ - (Html.Attribute.class "battlemap-container") - ] - [ - ( - , - case battlemap.navigator of - (Just navigator) -> - (Html.div - [ - (Html.Attribute.class "battlemap-navigator-container") - ] - [ (Battlemap.Navigator.Html.view battlemap.navigator) ] - ) - - Nothing -> (Html.text "") -- Meaning no element. + (Html.Attributes.class "battlemap-container") ] + ( + (List.map + (View.Battlemap.Tile.get_html tile_size) + (Array.toList (Battlemap.get_tiles battlemap)) + ) + ++ + (List.map + (char_on_map tile_size) + characters + ) + ++ + case (Battlemap.try_getting_navigator_summary battlemap) of + (Just nav_summary) -> + (View.Battlemap.Navigator.get_html tile_size nav_summary) + + Nothing -> [(Html.text "")] + ) ) diff --git a/elm/battlemap/src/View/Battlemap/Navigator.elm b/elm/battlemap/src/View/Battlemap/Navigator.elm new file mode 100644 index 0000000..4180e6d --- /dev/null +++ b/elm/battlemap/src/View/Battlemap/Navigator.elm @@ -0,0 +1,17 @@ +module View.Battlemap.Navigator exposing (get_html) + +import Html +--import Html.Attributes +--import Html.Events + +--import Battlemap.Location +import Battlemap.Navigator + +import Event + +get_html : ( + Int -> + Battlemap.Navigator.Summary -> + (List (Html.Html Event.Type)) + ) +get_html tile_size nav_summary = [] diff --git a/elm/battlemap/src/View/Battlemap/Tile.elm b/elm/battlemap/src/View/Battlemap/Tile.elm new file mode 100644 index 0000000..d38d84e --- /dev/null +++ b/elm/battlemap/src/View/Battlemap/Tile.elm @@ -0,0 +1,39 @@ +module View.Battlemap.Tile exposing (get_html) + +import Html +import Html.Attributes +import Html.Events + +import Battlemap.Tile +import Battlemap.Location + +import Event + +get_html : ( + Int -> + Battlemap.Tile.Type -> + (Html.Html Event.Type) + ) +get_html tile_size tile = + let + tile_loc = (Battlemap.Tile.get_location tile) + in + (Html.div + [ + (Html.Attributes.class "battlemap-tile-icon"), + (Html.Attributes.class + ("asset-tile-" ++ (toString (Battlemap.Tile.get_icon_id tile))) + ), + (Html.Events.onClick + (Event.TileSelected (Battlemap.Location.get_ref tile_loc)) + ), + (Html.Attributes.style + [ + ("top", ((toString (tile_loc.y * tile_size)) ++ "px")), + ("left", ((toString (tile_loc.x * tile_size)) ++ "px")) + ] + ) + ] + [ + ] + ) |