| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-05-23 22:46:28 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2018-05-23 22:46:28 +0200 | 
| commit | 8ff8836f0011d08c0814b68a6e3dad381e4f591f (patch) | |
| tree | c5cc83bd3d1c91232e578e6d272776d62fe0b96b | |
| parent | 74ec028d95331b2a66723bf891fa28e6b47239a7 (diff) | |
Forces preprocessor, locate char on portrait click
This might actually make the Timeline more user friendly.
| -rw-r--r-- | mk/preprocessor.mk | 7 | ||||
| -rw-r--r-- | src/battlemap/src/ElmModule/Update.elm | 4 | ||||
| -rw-r--r-- | src/battlemap/src/Struct/Character.elm | 6 | ||||
| -rw-r--r-- | src/battlemap/src/Struct/Event.elm | 23 | ||||
| -rw-r--r-- | src/battlemap/src/Update/LookForCharacter.elm | 54 | ||||
| -rw-r--r-- | src/battlemap/src/View/Character.elm | 5 | ||||
| -rw-r--r-- | src/battlemap/www/style.css | 5 | 
7 files changed, 85 insertions, 19 deletions
| diff --git a/mk/preprocessor.mk b/mk/preprocessor.mk index a279d12..285c9fa 100644 --- a/mk/preprocessor.mk +++ b/mk/preprocessor.mk @@ -24,5 +24,8 @@ PREPROCESSOR_RESULT = $(PREPROCESSED_FILES)  ################################################################################  ## INTERNAL RULES ##############################################################  ################################################################################ -$(PREPROCESSED_FILES): %: $(CONFIG_FILE) %.m4 -	m4 -P $^ > $@ +$(PREPROCESSED_FILES): %: %.m4 .PHONY +	m4 -P $(CONFIG_FILE) $< > $@ + +.PHONY: + diff --git a/src/battlemap/src/ElmModule/Update.elm b/src/battlemap/src/ElmModule/Update.elm index 14fd7f3..da3b014 100644 --- a/src/battlemap/src/ElmModule/Update.elm +++ b/src/battlemap/src/ElmModule/Update.elm @@ -12,6 +12,7 @@ import Update.ChangeScale  import Update.DisplayCharacterInfo  import Update.EndTurn  import Update.HandleServerReply +import Update.LookForCharacter  import Update.RequestDirection  import Update.SelectCharacter  import Update.SelectTab @@ -61,6 +62,9 @@ update event model =        (Struct.Event.CharacterInfoRequested char_id) ->           (Update.DisplayCharacterInfo.apply_to new_model char_id) +      (Struct.Event.LookingForCharacter char_id) -> +         (Update.LookForCharacter.apply_to new_model char_id) +        Struct.Event.TurnEnded ->           (Update.EndTurn.apply_to new_model) diff --git a/src/battlemap/src/Struct/Character.elm b/src/battlemap/src/Struct/Character.elm index 332c2fd..630befd 100644 --- a/src/battlemap/src/Struct/Character.elm +++ b/src/battlemap/src/Struct/Character.elm @@ -163,11 +163,7 @@ set_weapons : Struct.WeaponSet.Type -> Type -> Type  set_weapons weapons char =     {char |        weapons = weapons, -      statistics = -         (Struct.Statistics.new -            char.attributes -            weapons -         ) +      statistics = (Struct.Statistics.new char.attributes weapons)     }  decoder : ( diff --git a/src/battlemap/src/Struct/Event.elm b/src/battlemap/src/Struct/Event.elm index 0aaa774..13d42fe 100644 --- a/src/battlemap/src/Struct/Event.elm +++ b/src/battlemap/src/Struct/Event.elm @@ -15,21 +15,22 @@ import Struct.UI  -- TYPES -----------------------------------------------------------------------  --------------------------------------------------------------------------------  type Type = -   DirectionRequested Struct.Direction.Type -   | TileSelected Struct.Location.Ref -   | CharacterSelected Struct.Character.Ref +   AbortTurnRequest +   | AttackWithoutMovingRequest     | CharacterInfoRequested Struct.Character.Ref -   | TurnEnded +   | CharacterSelected Struct.Character.Ref +   | DebugLoadBattlemapRequest +   | DebugTeamSwitchRequest +   | DirectionRequested Struct.Direction.Type +   | Failed Struct.Error.Type +   | LookingForCharacter Struct.Character.Ref +   | None     | ScaleChangeRequested Float -   | TabSelected Struct.UI.Tab     | ServerReplied (Result Http.Error (List Struct.ServerReply.Type)) -   | DebugTeamSwitchRequest -   | DebugLoadBattlemapRequest +   | TabSelected Struct.UI.Tab +   | TileSelected Struct.Location.Ref +   | TurnEnded     | WeaponSwitchRequest -   | AttackWithoutMovingRequest -   | AbortTurnRequest -   | None -   | Failed Struct.Error.Type  attempted : (Result.Result err val) -> Type  attempted act = diff --git a/src/battlemap/src/Update/LookForCharacter.elm b/src/battlemap/src/Update/LookForCharacter.elm new file mode 100644 index 0000000..4618a13 --- /dev/null +++ b/src/battlemap/src/Update/LookForCharacter.elm @@ -0,0 +1,54 @@ +module Update.LookForCharacter exposing (apply_to) +-- Elm ------------------------------------------------------------------------- +import Dict +import Task + +-- Battlemap ------------------------------------------------------------------- +import Action.Scroll + +import Struct.Character +import Struct.Event +import Struct.Model +import Struct.UI + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +scroll_to_char : ( +      Struct.Model.Type -> +      Struct.Character.Ref -> +      (Cmd Struct.Event.Type) +   ) +scroll_to_char model char_ref = +   case (Dict.get char_ref model.characters) of +      (Just char) -> +         (Task.attempt +            (Struct.Event.attempted) +            (Action.Scroll.to +               (Struct.Character.get_location char) +               model.ui +            ) +         ) + +      Nothing -> +         Cmd.none + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +apply_to : ( +      Struct.Model.Type -> +      Struct.Character.Ref -> +      (Struct.Model.Type, (Cmd Struct.Event.Type)) +   ) +apply_to model target_ref = +   ( +      {model | +         ui = +            (Struct.UI.set_previous_action +               (Just (Struct.UI.SelectedCharacter target_ref)) +               model.ui +            ) +      }, +      (scroll_to_char model target_ref) +   ) diff --git a/src/battlemap/src/View/Character.elm b/src/battlemap/src/View/Character.elm index e3ff30b..c34d4d2 100644 --- a/src/battlemap/src/View/Character.elm +++ b/src/battlemap/src/View/Character.elm @@ -201,7 +201,10 @@ get_portrait_html viewer_id char =                    "battlemap-character-enemy"              )           ), -         (Html.Attributes.class "battlemap-character-portrait") +         (Html.Attributes.class "battlemap-character-portrait"), +         (Html.Events.onClick +            (Struct.Event.LookingForCharacter (Struct.Character.get_ref char)) +         )        ]        [           (get_portrait_body_html char), diff --git a/src/battlemap/www/style.css b/src/battlemap/www/style.css index e2b5151..20c1da6 100644 --- a/src/battlemap/www/style.css +++ b/src/battlemap/www/style.css @@ -214,6 +214,11 @@     flex-wrap: wrap;  } +.battlemap-character-portrait:hover +{ +   cursor: pointer; +} +  .battlemap-character-portrait  {     margin: 0.5em; | 


