summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Struct/Player.elm')
-rw-r--r--src/Struct/Player.elm87
1 files changed, 32 insertions, 55 deletions
diff --git a/src/Struct/Player.elm b/src/Struct/Player.elm
index 73fbdb3..7221fb9 100644
--- a/src/Struct/Player.elm
+++ b/src/Struct/Player.elm
@@ -1,39 +1,34 @@
module Struct.Player exposing
(
Type,
+ get_ix,
get_id,
get_username,
- get_maps,
get_campaigns,
get_invasions,
get_events,
- get_roster_id,
- get_inventory_id,
- decoder,
- none
+ set_battles,
+ has_active_battles
)
-- Elm -------------------------------------------------------------------------
import Json.Decode
import Json.Decode.Pipeline
--- Main Menu -------------------------------------------------------------------
+-- Extension -------------------------------------------------------------------
import Struct.BattleSummary
-import Struct.MapSummary
--------------------------------------------------------------------------------
-- TYPES -----------------------------------------------------------------------
--------------------------------------------------------------------------------
type alias Type =
{
+ ix : Int,
id : String,
name : String,
- maps : (List Struct.MapSummary.Type),
campaigns : (List Struct.BattleSummary.Type),
invasions : (List Struct.BattleSummary.Type),
- events : (List Struct.BattleSummary.Type),
- roster_id : String,
- inventory_id : String
+ events : (List Struct.BattleSummary.Type)
}
--------------------------------------------------------------------------------
@@ -43,15 +38,15 @@ type alias Type =
--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
+get_ix : Type -> Int
+get_ix t = t.ix
+
get_id : Type -> String
get_id t = t.id
get_username : Type -> String
get_username t = t.name
-get_maps : Type -> (List Struct.MapSummary.Type)
-get_maps t = t.maps
-
get_campaigns : Type -> (List Struct.BattleSummary.Type)
get_campaigns t = t.campaigns
@@ -61,47 +56,29 @@ get_invasions t = t.invasions
get_events : Type -> (List Struct.BattleSummary.Type)
get_events t = t.events
-get_roster_id : Type -> String
-get_roster_id t = t.roster_id
-
-get_inventory_id : Type -> String
-get_inventory_id t = t.inventory_id
-
-decoder : (Json.Decode.Decoder Type)
-decoder =
- (Json.Decode.Pipeline.decode
+set_battles : (
+ (List Struct.BattleSummary.Type) ->
+ (List Struct.BattleSummary.Type) ->
+ (List Struct.BattleSummary.Type) ->
+ Type ->
Type
- |> (Json.Decode.Pipeline.required "id" Json.Decode.string)
- |> (Json.Decode.Pipeline.required "nme" Json.Decode.string)
- |> (Json.Decode.Pipeline.required
- "maps"
- (Json.Decode.list Struct.MapSummary.decoder)
- )
- |> (Json.Decode.Pipeline.required
- "cmps"
- (Json.Decode.list Struct.BattleSummary.decoder)
- )
- |> (Json.Decode.Pipeline.required
- "invs"
- (Json.Decode.list Struct.BattleSummary.decoder)
- )
- |> (Json.Decode.Pipeline.required
- "evts"
- (Json.Decode.list Struct.BattleSummary.decoder)
- )
- |> (Json.Decode.Pipeline.required "rtid" Json.Decode.string)
- |> (Json.Decode.Pipeline.required "ivid" Json.Decode.string)
)
-
-none : Type
-none =
- {
- id = "",
- name = "Unknown",
- maps = [],
- campaigns = [],
- invasions = [],
- events = [],
- roster_id = "",
- inventory_id = ""
+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
+ )