summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Struct')
-rw-r--r--src/Struct/Flags.elm22
-rw-r--r--src/Struct/Model.elm9
2 files changed, 24 insertions, 7 deletions
diff --git a/src/Struct/Flags.elm b/src/Struct/Flags.elm
index 3614469..b44b79e 100644
--- a/src/Struct/Flags.elm
+++ b/src/Struct/Flags.elm
@@ -14,7 +14,7 @@ import List
type alias Type =
{
url_parameters : (List (List String)),
- random_number : Int
+ random_seed : Int
}
--------------------------------------------------------------------------------
@@ -26,12 +26,26 @@ parameter_as_url parameter =
[name, value] -> (name ++ "=" ++ value)
_ -> ""
+get_first : (a -> Bool) -> (List a) -> (Maybe a)
+get_first fun list =
+ (List.head (List.filter fun list))
+
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
-force_get_parameter : String -> Type -> String
-force_get_parameter parameter flags = ""
- -- TODO: implement using Tactician Online's, but without Shared.Util.List
+force_get_parameter : Type -> String -> String
+force_get_parameter flags parameter =
+ case
+ (get_first
+ (\e -> ((List.head e) == (Just parameter)))
+ flags.url_parameters
+ )
+ of
+ Nothing -> ""
+ (Just a) ->
+ case (List.tail a) of
+ (Just (h :: t)) -> h
+ _ -> ""
get_parameters_as_url : Type -> String
get_parameters_as_url flags =
diff --git a/src/Struct/Model.elm b/src/Struct/Model.elm
index cf4d475..50acf92 100644
--- a/src/Struct/Model.elm
+++ b/src/Struct/Model.elm
@@ -11,6 +11,7 @@ import Tonkadur.Types
-- Local Module ----------------------------------------------------------------
import Struct.UI
+import Struct.Flags
--------------------------------------------------------------------------------
-- TYPES -----------------------------------------------------------------------
@@ -18,6 +19,7 @@ import Struct.UI
type alias Type =
{
tonkadur : Tonkadur.Types.State,
+ flags : Struct.Flags.Type,
ui : Struct.UI.Type
}
@@ -28,9 +30,10 @@ type alias Type =
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
-new : Type
-new =
+new : Struct.Flags.Type -> Type
+new flags =
{
- tonkadur = (Tonkadur.Types.new_state 42),
+ tonkadur = (Tonkadur.Types.new_state flags.random_seed),
+ flags = flags,
ui = (Struct.UI.new)
}