summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-04 20:19:47 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-04 20:19:47 +0200
commite22e904a181a3158787d5e5e7552a0405f20d210 (patch)
treecf7c17ff0e598e44ac3254133f454ee8672fc613 /src
parentbebf00619c31c27a2902b9a2a1d60b205d4ff007 (diff)
Requests player info.
Diffstat (limited to 'src')
-rw-r--r--src/main-menu/src/Comm/LoadPlayer.elm18
-rw-r--r--src/main-menu/src/Comm/Send.elm4
-rw-r--r--src/main-menu/src/Comm/SetPlayer.elm26
-rw-r--r--src/main-menu/src/Constants/IO.elm.m414
-rw-r--r--src/main-menu/src/ElmModule/Init.elm12
-rw-r--r--src/main-menu/src/ElmModule/Subscriptions.elm2
-rw-r--r--src/main-menu/src/Struct/Player.elm7
-rw-r--r--src/main-menu/src/Update/HandleServerReply.elm28
8 files changed, 88 insertions, 23 deletions
diff --git a/src/main-menu/src/Comm/LoadPlayer.elm b/src/main-menu/src/Comm/LoadPlayer.elm
index c4a28ee..f93ed25 100644
--- a/src/main-menu/src/Comm/LoadPlayer.elm
+++ b/src/main-menu/src/Comm/LoadPlayer.elm
@@ -20,14 +20,18 @@ import Struct.Model
--------------------------------------------------------------------------------
try_encoding : Struct.Model.Type -> (Maybe Json.Encode.Value)
try_encoding model =
- (Just
- (Json.Encode.object
- [
- ("stk", (Json.Encode.string model.session_token)),
- ("pid", (Json.Encode.string model.player_id))
- ]
+ let
+ player_id = (Json.Encode.string model.player_id)
+ in
+ (Just
+ (Json.Encode.object
+ [
+ ("stk", (Json.Encode.string model.session_token)),
+ ("pid", player_id),
+ ("id", player_id)
+ ]
+ )
)
- )
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
diff --git a/src/main-menu/src/Comm/Send.elm b/src/main-menu/src/Comm/Send.elm
index e488d77..925b956 100644
--- a/src/main-menu/src/Comm/Send.elm
+++ b/src/main-menu/src/Comm/Send.elm
@@ -8,7 +8,7 @@ import Json.Encode
-- Map -------------------------------------------------------------------
import Comm.Okay
-import Comm.SetSession
+import Comm.SetPlayer
import Struct.Event
import Struct.ServerReply
@@ -25,7 +25,7 @@ internal_decoder : String -> (Json.Decode.Decoder Struct.ServerReply.Type)
internal_decoder reply_type =
case reply_type of
"okay" -> (Comm.Okay.decode)
- "sse" -> (Comm.SetSession.decode)
+ "set_plr" -> (Comm.SetPlayer.decode)
other ->
(Json.Decode.fail
(
diff --git a/src/main-menu/src/Comm/SetPlayer.elm b/src/main-menu/src/Comm/SetPlayer.elm
new file mode 100644
index 0000000..a595777
--- /dev/null
+++ b/src/main-menu/src/Comm/SetPlayer.elm
@@ -0,0 +1,26 @@
+module Comm.SetPlayer exposing (decode)
+
+-- Elm -------------------------------------------------------------------------
+import Json.Decode
+
+-- Map -------------------------------------------------------------------------
+import Struct.Player
+import Struct.ServerReply
+
+--------------------------------------------------------------------------------
+-- TYPES -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+--------------------------------------------------------------------------------
+-- LOCAL -----------------------------------------------------------------------
+--------------------------------------------------------------------------------
+internal_decoder : Struct.Player.Type -> Struct.ServerReply.Type
+internal_decoder player =
+ (Struct.ServerReply.SetPlayer player)
+
+--------------------------------------------------------------------------------
+-- EXPORTED --------------------------------------------------------------------
+--------------------------------------------------------------------------------
+decode : (Json.Decode.Decoder Struct.ServerReply.Type)
+decode =
+ (Json.Decode.map (internal_decoder) (Struct.Player.decoder))
diff --git a/src/main-menu/src/Constants/IO.elm.m4 b/src/main-menu/src/Constants/IO.elm.m4
index fdb5ed3..699bab2 100644
--- a/src/main-menu/src/Constants/IO.elm.m4
+++ b/src/main-menu/src/Constants/IO.elm.m4
@@ -3,14 +3,8 @@ module Constants.IO exposing (..)
base_url : String
base_url = "__CONF_SERVER_URL"
-login_handler_url : String
-login_handler_url = (base_url ++ "/handler/login")
+player_handler_url : String
+player_handler_url = (base_url ++ "/handler/player")
-login_sign_in_handler : String
-login_sign_in_handler = (login_handler_url ++ "/lgn_sign_in")
-
-login_sign_up_handler : String
-login_sign_up_handler = (login_handler_url ++ "/lgn_sign_up")
-
-login_recovery_handler : String
-login_recovery_handler = (login_handler_url ++ "/lgn_recovery")
+player_loading_handler : String
+player_loading_handler = (player_handler_url ++ "/plr_load")
diff --git a/src/main-menu/src/ElmModule/Init.elm b/src/main-menu/src/ElmModule/Init.elm
index 4cfbcb2..367af39 100644
--- a/src/main-menu/src/ElmModule/Init.elm
+++ b/src/main-menu/src/ElmModule/Init.elm
@@ -2,7 +2,9 @@ module ElmModule.Init exposing (init)
-- Elm -------------------------------------------------------------------------
--- Map -------------------------------------------------------------------
+-- Main Menu -------------------------------------------------------------------
+import Comm.LoadPlayer
+
import Struct.Event
import Struct.Flags
import Struct.Model
@@ -15,4 +17,10 @@ import Struct.Model
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
init : Struct.Flags.Type -> (Struct.Model.Type, (Cmd Struct.Event.Type))
-init flags = ((Struct.Model.new flags), Cmd.none)
+init flags =
+ let
+ model = (Struct.Model.new flags)
+ in
+ case (Comm.LoadPlayer.try model) of
+ Nothing -> (model, Cmd.none)
+ (Just command) -> (model, command)
diff --git a/src/main-menu/src/ElmModule/Subscriptions.elm b/src/main-menu/src/ElmModule/Subscriptions.elm
index fe276f4..e9b557e 100644
--- a/src/main-menu/src/ElmModule/Subscriptions.elm
+++ b/src/main-menu/src/ElmModule/Subscriptions.elm
@@ -2,7 +2,7 @@ module ElmModule.Subscriptions exposing (..)
-- Elm -------------------------------------------------------------------------
--- Map -------------------------------------------------------------------
+-- Main Menu -------------------------------------------------------------------
import Struct.Model
import Struct.Event
diff --git a/src/main-menu/src/Struct/Player.elm b/src/main-menu/src/Struct/Player.elm
index 2a56395..73fbdb3 100644
--- a/src/main-menu/src/Struct/Player.elm
+++ b/src/main-menu/src/Struct/Player.elm
@@ -1,6 +1,7 @@
module Struct.Player exposing
(
Type,
+ get_id,
get_username,
get_maps,
get_campaigns,
@@ -25,6 +26,7 @@ import Struct.MapSummary
--------------------------------------------------------------------------------
type alias Type =
{
+ id : String,
name : String,
maps : (List Struct.MapSummary.Type),
campaigns : (List Struct.BattleSummary.Type),
@@ -41,6 +43,9 @@ type alias Type =
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
+get_id : Type -> String
+get_id t = t.id
+
get_username : Type -> String
get_username t = t.name
@@ -66,6 +71,7 @@ decoder : (Json.Decode.Decoder Type)
decoder =
(Json.Decode.Pipeline.decode
Type
+ |> (Json.Decode.Pipeline.required "id" Json.Decode.string)
|> (Json.Decode.Pipeline.required "nme" Json.Decode.string)
|> (Json.Decode.Pipeline.required
"maps"
@@ -90,6 +96,7 @@ decoder =
none : Type
none =
{
+ id = "",
name = "Unknown",
maps = [],
campaigns = [],
diff --git a/src/main-menu/src/Update/HandleServerReply.elm b/src/main-menu/src/Update/HandleServerReply.elm
index 18cfdd8..96cb0f1 100644
--- a/src/main-menu/src/Update/HandleServerReply.elm
+++ b/src/main-menu/src/Update/HandleServerReply.elm
@@ -7,6 +7,7 @@ import Http
import Struct.Error
import Struct.Event
import Struct.Model
+import Struct.Player
import Struct.ServerReply
--------------------------------------------------------------------------------
@@ -16,6 +17,31 @@ import Struct.ServerReply
--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------
+set_player : (
+ Struct.Player.Type ->
+ (
+ Struct.Model.Type,
+ (Maybe Struct.Error.Type),
+ (List (Cmd Struct.Event.Type))
+ ) ->
+ (
+ Struct.Model.Type,
+ (Maybe Struct.Error.Type),
+ (List (Cmd Struct.Event.Type))
+ )
+ )
+set_player player current_state =
+ let
+ (model, error, event_list) = current_state
+ in
+ (
+ {model |
+ player = player
+ },
+ error,
+ event_list
+ )
+
apply_command : (
Struct.ServerReply.Type ->
(
@@ -31,7 +57,7 @@ apply_command : (
)
apply_command command current_state =
case command of
- (Struct.ServerReply.SetPlayer _) -> current_state
+ (Struct.ServerReply.SetPlayer player) -> (set_player player current_state)
Struct.ServerReply.Okay -> current_state
--------------------------------------------------------------------------------