| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/battle/src/Struct/Player.elm')
| -rw-r--r-- | src/battle/src/Struct/Player.elm | 72 | 
1 files changed, 72 insertions, 0 deletions
| diff --git a/src/battle/src/Struct/Player.elm b/src/battle/src/Struct/Player.elm new file mode 100644 index 0000000..ee14ebe --- /dev/null +++ b/src/battle/src/Struct/Player.elm @@ -0,0 +1,72 @@ +module Struct.Player exposing +   ( +      Type, +      Ref, +      get_id, +      get_index, +      get_incarnation_index, +      get_luck, +      set_luck, +      decoder, +      none +   ) + +-- Elm ------------------------------------------------------------------------- +import Json.Decode +import Json.Decode.Pipeline + +-- Battle ---------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- TYPES ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- +type alias Ref = Int + +type alias Type = +   { +      id : String, +      ix : Int, +      incarnation_ix : Int, +      luck : Int +   } + +-------------------------------------------------------------------------------- +-- LOCAL ----------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +get_id : Type -> String +get_id pl = pl.id + +get_index : Type -> Int +get_index pl = pl.ix + +get_incarnation_index : Type -> Int +get_incarnation_index pl = pl.incarnation_ix + +get_luck : Type -> Int +get_luck pl = pl.luck + +set_luck : Int -> Type -> Type +set_luck luck pl = {pl | luck = luck} + +decoder : (Json.Decode.Decoder Type) +decoder = +   (Json.Decode.succeed +      Type +      |> (Json.Decode.Pipeline.required "id" Json.Decode.string) +      |> (Json.Decode.Pipeline.required "ix" Json.Decode.int) +      |> (Json.Decode.Pipeline.required "iix" Json.Decode.int) +      |> (Json.Decode.Pipeline.required "luk" Json.Decode.int) +   ) + +none : Type +none = +   { +      id = "", +      ix = -1, +      incarnation_ix = -1, +      luck = 0 +   } | 


