summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battlemap/src/Send/AddChar.elm')
-rw-r--r-- | src/battlemap/src/Send/AddChar.elm | 84 |
1 files changed, 40 insertions, 44 deletions
diff --git a/src/battlemap/src/Send/AddChar.elm b/src/battlemap/src/Send/AddChar.elm index 762d859..66a837f 100644 --- a/src/battlemap/src/Send/AddChar.elm +++ b/src/battlemap/src/Send/AddChar.elm @@ -11,7 +11,6 @@ import Data.Weapons import Struct.Attributes import Struct.Character -import Struct.Error import Struct.Model import Struct.ServerReply import Struct.WeaponSet @@ -90,50 +89,47 @@ char_decoder = |> (Json.Decode.Pipeline.required "swp" Json.Decode.int) ) --------------------------------------------------------------------------------- --- EXPORTED -------------------------------------------------------------------- --------------------------------------------------------------------------------- -decode : (Struct.Model.Struct -> (Json.Decode.Decoder Struct.ServerReply.Type)) -decode model input = - case (Json.Decode.decodeString char_decoder input) of - (Result.Ok char_data) -> - (Result.Ok - (Struct.ServerReply.AddCharacter - (Struct.Character.new - (toString char_data.ix) - char_data.nam - char_data.ico - char_data.prt - {x = char_data.lc.x, y = char_data.lc.y} - char_data.hea - char_data.pla - char_data.ena - (Struct.Attributes.new - char_data.att.con - char_data.att.dex - char_data.att.int - char_data.att.min - char_data.att.spe - char_data.att.str - ) - ( - case - ( - (Dict.get char_data.awp model.weapons), - (Dict.get char_data.swp model.weapons) - ) - of - ((Just wp_0), (Just wp_1)) -> - (Struct.WeaponSet.new wp_0 wp_1) +internal_decoder : Struct.Model.Type -> CharData -> Struct.ServerReply.Type +internal_decoder model char_data = + (Struct.ServerReply.AddCharacter + (Struct.Character.new + (toString char_data.ix) + char_data.nam + char_data.ico + char_data.prt + {x = char_data.lc.x, y = char_data.lc.y} + char_data.hea + char_data.pla + char_data.ena + (Struct.Attributes.new + char_data.att.con + char_data.att.dex + char_data.att.int + char_data.att.min + char_data.att.spe + char_data.att.str + ) + ( + case + ( + (Dict.get char_data.awp model.weapons), + (Dict.get char_data.swp model.weapons) + ) + of + ((Just wp_0), (Just wp_1)) -> + (Struct.WeaponSet.new wp_0 wp_1) - _ -> - (Struct.WeaponSet.new - (Data.Weapons.none) - (Data.Weapons.none) - ) + _ -> + (Struct.WeaponSet.new + (Data.Weapons.none) + (Data.Weapons.none) ) - ) - ) ) + ) + ) - other -> other +-------------------------------------------------------------------------------- +-- EXPORTED -------------------------------------------------------------------- +-------------------------------------------------------------------------------- +decode : (Struct.Model.Type -> (Json.Decode.Decoder Struct.ServerReply.Type)) +decode model = (Json.Decode.map (internal_decoder model) char_decoder) |