summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-29 13:30:15 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2018-09-29 13:30:15 +0200
commit80c3b7947eb0bd240d4c1f94808cb64d2fbfbf3d (patch)
tree6b4168efd6165f0f23c70cd054416b270a39042a
parentaa908fcf7072c0e27d242ecf7014174f9de16965 (diff)
downloadtacticians-extension-80c3b7947eb0bd240d4c1f94808cb64d2fbfbf3d.zip
tacticians-extension-80c3b7947eb0bd240d4c1f94808cb64d2fbfbf3d.tar.bz2
...
-rw-r--r--src/background/src/Struct/Player.elm133
-rw-r--r--src/background/src/Struct/ServerReply.elm2
-rw-r--r--src/background/src/Update/HandleServerReply.elm2
-rw-r--r--src/popup/src/Struct/BattleSummary.elm65
-rw-r--r--src/popup/src/Struct/Flags.elm42
-rw-r--r--src/shared/Struct/BattleSummary.elm (renamed from src/background/src/Struct/BattleSummary.elm)16
-rw-r--r--src/shared/Struct/Flags.elm (renamed from src/background/src/Struct/Flags.elm)37
-rw-r--r--src/shared/Struct/Player.elm (renamed from src/popup/src/Struct/Player.elm)0
8 files changed, 41 insertions, 256 deletions
diff --git a/src/background/src/Struct/Player.elm b/src/background/src/Struct/Player.elm
deleted file mode 100644
index 1e8365a..0000000
--- a/src/background/src/Struct/Player.elm
+++ /dev/null
@@ -1,133 +0,0 @@
-module Struct.Player exposing
- (
- Type,
- get_id,
- set_id,
- get_query_url,
- set_query_url,
- get_username,
- set_username,
- get_campaigns,
- get_invasions,
- get_events,
- set_battles,
- has_active_battles,
- decoder,
- encode,
- default
- )
-
--- Elm -------------------------------------------------------------------------
-import Json.Decode
-import Json.Decode.Pipeline
-import Json.Encode
-
--- Extension -------------------------------------------------------------------
-import Struct.BattleSummary
-
---------------------------------------------------------------------------------
--- TYPES -----------------------------------------------------------------------
---------------------------------------------------------------------------------
-type alias Type =
- {
- id : String,
- name : String,
- query_url : String,
- campaigns : (List Struct.BattleSummary.Type),
- invasions : (List Struct.BattleSummary.Type),
- events : (List Struct.BattleSummary.Type)
- }
-
---------------------------------------------------------------------------------
--- LOCAL -----------------------------------------------------------------------
---------------------------------------------------------------------------------
-
---------------------------------------------------------------------------------
--- EXPORTED --------------------------------------------------------------------
---------------------------------------------------------------------------------
-get_id : Type -> String
-get_id t = t.id
-
-set_id : String -> Type -> Type
-set_id str t = {t | id = str}
-
-get_username : Type -> String
-get_username t = t.name
-
-set_username : String -> Type -> Type
-set_username str t = {t | name = str}
-
-get_query_url : Type -> String
-get_query_url t = t.query_url
-
-set_query_url : String -> Type -> Type
-set_query_url str t = {t | query_url = str}
-
-get_campaigns : Type -> (List Struct.BattleSummary.Type)
-get_campaigns t = t.campaigns
-
-get_invasions : Type -> (List Struct.BattleSummary.Type)
-get_invasions t = t.invasions
-
-get_events : Type -> (List Struct.BattleSummary.Type)
-get_events t = t.events
-
-set_battles : (
- (List Struct.BattleSummary.Type) ->
- (List Struct.BattleSummary.Type) ->
- (List Struct.BattleSummary.Type) ->
- Type ->
- Type
- )
-set_battles campaigns invasions events t =
- {t |
- campaigns =
- (List.filter (Struct.BattleSummary.is_players_turn) campaigns),
- invasions =
- (List.filter (Struct.BattleSummary.is_players_turn) invasions),
- events = (List.filter (Struct.BattleSummary.is_players_turn) events)
- }
-
-has_active_battles : Type -> Bool
-has_active_battles t =
- (
- (
- (List.length t.campaigns)
- + (List.length t.invasions)
- + (List.length t.events)
- )
- > 0
- )
-
-decoder : (Json.Decode.Decoder Type)
-decoder =
- (Json.Decode.Pipeline.decode
- Type
- |> (Json.Decode.Pipeline.required "id" Json.Decode.string)
- |> (Json.Decode.Pipeline.required "name" Json.Decode.string)
- |> (Json.Decode.Pipeline.required "query_url" Json.Decode.string)
- |> (Json.Decode.Pipeline.hardcoded [])
- |> (Json.Decode.Pipeline.hardcoded [])
- |> (Json.Decode.Pipeline.hardcoded [])
- )
-
-encode : Type -> Json.Encode.Value
-encode t =
- (Json.Encode.object
- [
- ("id", (Json.Encode.string t.id)),
- ("name", (Json.Encode.string t.name)),
- ("query_url", (Json.Encode.string t.query_url))
- ]
- )
-
-default : Type
-default =
- {
- id = "0",
- name = "Username",
- query_url = "http://127.0.0.1/",
- campaigns = [],
- invasions = [],
- events = []
- }
diff --git a/src/background/src/Struct/ServerReply.elm b/src/background/src/Struct/ServerReply.elm
index f0530d8..35d3f89 100644
--- a/src/background/src/Struct/ServerReply.elm
+++ b/src/background/src/Struct/ServerReply.elm
@@ -11,8 +11,6 @@ import Struct.BattleSummary
type Type =
Okay
- | SetID String
- | SetUsername String
| SetBattles
(
(List Struct.BattleSummary.Type),
diff --git a/src/background/src/Update/HandleServerReply.elm b/src/background/src/Update/HandleServerReply.elm
index c95000d..81fec2f 100644
--- a/src/background/src/Update/HandleServerReply.elm
+++ b/src/background/src/Update/HandleServerReply.elm
@@ -83,8 +83,6 @@ apply_command : (
apply_command command current_state =
case command of
Struct.ServerReply.Okay -> current_state
- (Struct.ServerReply.SetID str) -> current_state -- TODO
- (Struct.ServerReply.SetUsername str) -> current_state -- TODO
(Struct.ServerReply.SetBattles battles) ->
(handle_set_battles battles current_state)
diff --git a/src/popup/src/Struct/BattleSummary.elm b/src/popup/src/Struct/BattleSummary.elm
deleted file mode 100644
index adab965..0000000
--- a/src/popup/src/Struct/BattleSummary.elm
+++ /dev/null
@@ -1,65 +0,0 @@
-module Struct.BattleSummary exposing
- (
- Type,
- get_id,
- get_name,
- get_last_edit,
- is_players_turn,
- decoder,
- none
- )
-
--- Elm -------------------------------------------------------------------------
-import Json.Decode
-import Json.Decode.Pipeline
-
--- Main Menu -------------------------------------------------------------------
-
---------------------------------------------------------------------------------
--- TYPES -----------------------------------------------------------------------
---------------------------------------------------------------------------------
-type alias Type =
- {
- id : String,
- name : String,
- last_edit : String,
- is_players_turn : Bool
- }
-
---------------------------------------------------------------------------------
--- LOCAL -----------------------------------------------------------------------
---------------------------------------------------------------------------------
-
---------------------------------------------------------------------------------
--- EXPORTED --------------------------------------------------------------------
---------------------------------------------------------------------------------
-get_id : Type -> String
-get_id t = t.id
-
-get_name : Type -> String
-get_name t = t.name
-
-get_last_edit : Type -> String
-get_last_edit t = t.last_edit
-
-is_players_turn : Type -> Bool
-is_players_turn t = t.is_players_turn
-
-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 "ldt" Json.Decode.string)
- |> (Json.Decode.Pipeline.required "ipt" Json.Decode.bool)
- )
-
-none : Type
-none =
- {
- id = "",
- name = "Unknown",
- last_edit = "Never",
- is_players_turn = False
- }
diff --git a/src/popup/src/Struct/Flags.elm b/src/popup/src/Struct/Flags.elm
deleted file mode 100644
index e5a79f8..0000000
--- a/src/popup/src/Struct/Flags.elm
+++ /dev/null
@@ -1,42 +0,0 @@
-module Struct.Flags exposing
- (
- Type,
- get_frequency,
- get_players
- )
-
--- Elm -------------------------------------------------------------------------
-import Json.Decode
-
--- Extension -------------------------------------------------------------------
-import Struct.Player
-
---------------------------------------------------------------------------------
--- TYPES -----------------------------------------------------------------------
---------------------------------------------------------------------------------
-type alias Type =
- {
- frequency : Int,
- players : String
- }
-
---------------------------------------------------------------------------------
--- LOCAL -----------------------------------------------------------------------
---------------------------------------------------------------------------------
-
---------------------------------------------------------------------------------
--- EXPORTED --------------------------------------------------------------------
---------------------------------------------------------------------------------
-get_frequency : Type -> Int
-get_frequency flags = flags.frequency
-
-get_players : Type -> (List Struct.Player.Type)
-get_players flags =
- case
- (Json.Decode.decodeString
- (Json.Decode.list (Struct.Player.decoder))
- flags.players
- )
- of
- (Ok result) -> result
- (Err _) -> []
diff --git a/src/background/src/Struct/BattleSummary.elm b/src/shared/Struct/BattleSummary.elm
index adab965..1947613 100644
--- a/src/background/src/Struct/BattleSummary.elm
+++ b/src/shared/Struct/BattleSummary.elm
@@ -6,6 +6,7 @@ module Struct.BattleSummary exposing
get_last_edit,
is_players_turn,
decoder,
+ encode,
none
)
@@ -13,7 +14,9 @@ module Struct.BattleSummary exposing
import Json.Decode
import Json.Decode.Pipeline
--- Main Menu -------------------------------------------------------------------
+import Json.Encode
+
+-- Extension -------------------------------------------------------------------
--------------------------------------------------------------------------------
-- TYPES -----------------------------------------------------------------------
@@ -55,6 +58,17 @@ decoder =
|> (Json.Decode.Pipeline.required "ipt" Json.Decode.bool)
)
+encode : Type -> Json.Encode.Value
+encode t =
+ (Json.Encode.object
+ [
+ ("id", (Json.Encode.string t.id)),
+ ("nme", (Json.Encode.string t.name)),
+ ("ldt", (Json.Encode.string t.last_edit)),
+ ("ipt", (Json.Encode.bool t.is_players_turn))
+ ]
+ )
+
none : Type
none =
{
diff --git a/src/background/src/Struct/Flags.elm b/src/shared/Struct/Flags.elm
index e5a79f8..29707a9 100644
--- a/src/background/src/Struct/Flags.elm
+++ b/src/shared/Struct/Flags.elm
@@ -2,11 +2,14 @@ module Struct.Flags exposing
(
Type,
get_frequency,
- get_players
+ get_players,
+ decoder,
+ encode
)
-- Elm -------------------------------------------------------------------------
import Json.Decode
+import Json.Encode
-- Extension -------------------------------------------------------------------
import Struct.Player
@@ -17,7 +20,7 @@ import Struct.Player
type alias Type =
{
frequency : Int,
- players : String
+ players : (List Struct.Player.Type)
}
--------------------------------------------------------------------------------
@@ -31,12 +34,24 @@ get_frequency : Type -> Int
get_frequency flags = flags.frequency
get_players : Type -> (List Struct.Player.Type)
-get_players flags =
- case
- (Json.Decode.decodeString
- (Json.Decode.list (Struct.Player.decoder))
- flags.players
- )
- of
- (Ok result) -> result
- (Err _) -> []
+get_players flags = flags.players
+
+decoder : (Json.Decode.Decoder Type)
+decoder =
+ (Json.Decode.map2
+ Type
+ (Json.Decode.field "frequency" (Json.Decode.int))
+ (Json.Decode.field "players" (Json.Decode.list (Struct.Player.decoder)))
+ )
+
+encode : Type -> Json.Encode.Value
+encode flags =
+ (Json.Encode.object
+ [
+ ("frequency", (Json.Encode.int flags.frequency)),
+ (
+ "players",
+ (Json.Encode.list (List.map (Struct.Player.encode) flags.players))
+ )
+ ]
+ )
diff --git a/src/popup/src/Struct/Player.elm b/src/shared/Struct/Player.elm
index 1e8365a..1e8365a 100644
--- a/src/popup/src/Struct/Player.elm
+++ b/src/shared/Struct/Player.elm