package Ġme . li uli . l umin ous . utils . misc Ċ Ċ import Ġcom . be ust . kl ax on . JsonArray Ċ import Ġcom . be ust . kl ax on . JsonObject Ċ import Ġme . li uli . l umin ous . features . value . Value Ċ Ċ object ĠJson Utils Ġ{ ĊĠĠĠ Ġfun Ġ< T > ĠtoJson Array ( array : ĠArray < T >): ĠJson Array < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJson Array < T >() ĊĊĠĠĠĠĠĠĠ Ġarray . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson . add ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġserialize Values ( values : ĠList < Value <* >> ): ĠJsonObject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠJsonObject () ĊĠĠĠĠĠĠĠ Ġvalues . forEach Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjson [ value . name ] Ġ= Ġvalue . serialize () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġjson ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdeserialize Values ( json : ĠJsonObject , Ġvalues : ĠList < Value <* >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalues . forEach Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Data Ġ= Ġjson [ value . name ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( value Data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . deserialize ( value Data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }