Total Complexity | 2 |
Total Lines | 31 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | package de.kleiner3.lasertag.lasertaggame.teammanagement.serialize; |
||
14 | public class TeamDtoSerializer { |
||
15 | /** |
||
16 | * Build a GsonBuilder for the Team |
||
17 | * @return The GsonBuilder designed for the Team |
||
18 | */ |
||
19 | public static GsonBuilder getSerializer() { |
||
20 | // Create builder |
||
21 | var gsonBuilder = new GsonBuilder(); |
||
22 | |||
23 | // Create serializer for TeamDto |
||
24 | var serializer = new JsonSerializer<TeamDto>() { |
||
25 | @Override |
||
26 | public JsonElement serialize(TeamDto teamDto, Type type, JsonSerializationContext jsonSerializationContext) { |
||
27 | var jsonObject = new JsonObject(); |
||
28 | |||
29 | // Add RGB |
||
30 | jsonObject.addProperty("red", teamDto.color().r()); |
||
31 | jsonObject.addProperty("green", teamDto.color().g()); |
||
32 | jsonObject.addProperty("blue", teamDto.color().b()); |
||
33 | |||
34 | // Add spawnpoint block |
||
35 | jsonObject.addProperty("spawnpointBlock", Registry.BLOCK.getId(teamDto.spawnpointBlock()).toString()); |
||
36 | |||
37 | return jsonObject; |
||
38 | } |
||
39 | }; |
||
40 | |||
41 | // Register serializer for TeamDto |
||
42 | gsonBuilder.registerTypeAdapter(TeamDto.class, serializer); |
||
43 | |||
44 | return gsonBuilder; |
||
45 | } |
||
47 |