summaryrefslogtreecommitdiff
blob: aa1ce9442b67e5bc142a2ca5944eea50e8f2ca5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
module BattleCharacters.Comm.AddDataSetItem exposing (prefix, get_decoder_for)

-- Elm -------------------------------------------------------------------------
import Json.Decode

-- Battle Characters -----------------------------------------------------------
import BattleCharacters.Comm.AddArmor
import BattleCharacters.Comm.AddGlyph
import BattleCharacters.Comm.AddGlyphBoard
import BattleCharacters.Comm.AddPortrait
import BattleCharacters.Comm.AddSkill
import BattleCharacters.Comm.AddWeapon

-- Local Module ----------------------------------------------------------------
import Struct.ServerReply

--------------------------------------------------------------------------------
-- TYPES -----------------------------------------------------------------------
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- LOCAL -----------------------------------------------------------------------
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- EXPORTED --------------------------------------------------------------------
--------------------------------------------------------------------------------
prefix : String
prefix = "acds"

get_decoder_for : String -> (Json.Decode.Decoder Struct.ServerReply.Type)
get_decoder_for reply_type =
   case reply_type of
      "acds_armor" -> (BattleCharacters.Comm.AddArmor.decode)
      "acds_weapon" -> (BattleCharacters.Comm.AddWeapon.decode)
      "acds_portrait" -> (BattleCharacters.Comm.AddPortrait.decode)
      "acds_glyph" -> (BattleCharacters.Comm.AddGlyph.decode)
      "acds_glyph_board" -> (BattleCharacters.Comm.AddGlyphBoard.decode)
      "acds_skill" -> (BattleCharacters.Comm.AddSkill.decode)

      other ->
         (Json.Decode.fail
            (
               "Unknown server command \""
               ++ other
               ++ "\""
            )
         )