package Ġcom . ly ee ed ar . Util Ċ Ċ import Ġcom . es ot eric software . k ry o . K ry o Ċ import Ġcom . es ot eric software . k ry o . Serializer Ċ import Ġcom . es ot eric software . k ry o . io . Input Ċ import Ġcom . es ot eric software . k ry o . io . Output Ċ import Ġcom . ly ee ed ar . Card . Card Content . Card Content Ċ import Ġcom . ly ee ed ar . Game .* Ċ Ċ fun ĠK ry o . register Game Serial izers () Ċ { Ċ ĉ val Ġk ry o Ġ= Ġthis ĊĊ ĉ k ry o . register ( Player :: class . java , Ġobject Ġ: ĠSerializer < Player >() Ċ ĉ { Ċĉ ĉ override Ġfun Ġread ( k ry o : ĠK ry o , Ġinput : ĠInput , Ġtype : ĠClass < Player >): ĠPlayer Ċĉ ĉ { Ċĉĉ ĉ return ĠPlayer . load ( k ry o , Ġinput , ĠGlobal . deck ) Ċĉ ĉ } ĊĊĉ ĉ override Ġfun Ġwrite ( k ry o : ĠK ry o , Ġoutput : ĠOutput , Ġplayer : ĠPlayer ) Ċĉ ĉ { Ċĉĉ ĉ player . save ( k ry o , Ġoutput ) Ċĉ ĉ } Ċ ĉ }) ĊĊ ĉ k ry o . register ( Global Deck :: class . java , Ġobject Ġ: ĠSerializer < Global Deck >() Ċ ĉ { Ċĉ ĉ override Ġfun Ġread ( k ry o : ĠK ry o , Ġinput : ĠInput , Ġtype : ĠClass < Global Deck >): ĠGlobal Deck Ċĉ ĉ { Ċĉĉ ĉ return ĠGlobal Deck . load ( input ) Ċĉ ĉ } ĊĊĉ ĉ override Ġfun Ġwrite ( k ry o : ĠK ry o , Ġoutput : ĠOutput , Ġdeck : ĠGlobal Deck ) Ċĉ ĉ { Ċĉĉ ĉ deck . save ( output ) Ċĉ ĉ } Ċ ĉ }) ĊĊ ĉ k ry o . register ( GameState Flags :: class . java , Ġobject Ġ: ĠSerializer < GameState Flags >() Ċ ĉ { Ċĉ ĉ override Ġfun Ġread ( k ry o : ĠK ry o , Ġinput : ĠInput , Ġtype : ĠClass < GameState Flags >): ĠGameState Flags Ċĉ ĉ { Ċĉĉ ĉ return ĠGameState Flags . load ( k ry o , Ġinput ) Ċĉ ĉ } ĊĊĉ ĉ override Ġfun Ġwrite ( k ry o : ĠK ry o , Ġoutput : ĠOutput , Ġflags : ĠGameState Flags ) Ċĉ ĉ { Ċĉĉ ĉ flags . save ( k ry o , Ġoutput ) Ċĉ ĉ } Ċ ĉ }) ĊĊ ĉ k ry o . register ( Quest :: class . java , Ġobject Ġ: ĠSerializer < Quest >() Ċ ĉ { Ċĉ ĉ override Ġfun Ġread ( k ry o : ĠK ry o , Ġinput : ĠInput , Ġtype : ĠClass < Quest >): ĠQuest Ċĉ ĉ { Ċĉĉ ĉ return ĠQuest . load ( input ) Ċĉ ĉ } ĊĊĉ ĉ override Ġfun Ġwrite ( k ry o : ĠK ry o , Ġoutput : ĠOutput , Ġquest : ĠQuest ) Ċĉ ĉ { Ċĉĉ ĉ quest . save ( output ) Ċĉ ĉ } Ċ ĉ }) ĊĊ ĉ k ry o . register ( Card Content :: class . java , Ġobject Ġ: ĠSerializer < Card Content >() Ċ ĉ { Ċĉ ĉ override Ġfun Ġread ( k ry o : ĠK ry o , Ġinput : ĠInput , Ġtype : ĠClass < Card Content >): ĠCard Content Ċĉ ĉ { Ċĉĉ ĉ return ĠCard Content . load ( k ry o , Ġinput ) Ċĉ ĉ } ĊĊĉ ĉ override Ġfun Ġwrite ( k ry o : ĠK ry o , Ġoutput : ĠOutput , Ġcontent : ĠCard Content ) Ċĉ ĉ { Ċĉĉ ĉ content . save ( k ry o , Ġoutput ) Ċĉ ĉ } Ċ ĉ }) Ċ }