feat: implemented JSON stuff related to PortalEvents
This commit is contained in:
@ -80,6 +80,10 @@ public class EventDeserializer extends JsonDeserializer<Event> {
|
||||
.withOriginField(unwrap(node.get("originField"), IntVector2.class, codec))
|
||||
.withStoneType(stoneTypeID != null ? StoneType.valueOf(stoneTypeID.id) : null)
|
||||
|
||||
.withTeleportedEntity(unwrap(node.get("teleportedEntity"), EntityID.class, codec))
|
||||
.withOriginPortal(unwrap(node.get("originPortal"), EntityID.class, codec))
|
||||
.withTargetPortal(unwrap(node.get("targetPortal"), EntityID.class, codec))
|
||||
|
||||
.withRoundCount(unwrap(node.get("roundCount"), Integer.class, codec))
|
||||
.withTurnCount(unwrap(node.get("turnCount"), Integer.class, codec))
|
||||
.withCharacterOrder(unwrap(node.get("characterOrder"), EntityID[].class, codec))
|
||||
@ -118,6 +122,7 @@ public class EventDeserializer extends JsonDeserializer<Event> {
|
||||
MoveEvent,
|
||||
UseInfinityStoneEvent,
|
||||
ExchangeInfinityStoneEvent -> { return builder.buildCharacterEvent(); }
|
||||
case TeleportedEvent -> { return builder.buildTeleportedEvent(); }
|
||||
case RoundSetupEvent,
|
||||
TurnEvent,
|
||||
WinEvent,
|
||||
|
@ -32,6 +32,8 @@ public class EventSerializer extends StdSerializer<Event> {
|
||||
serializeCharacterEvent((CharacterEvent) value, gen, provider);
|
||||
} else if (value instanceof GameEvent) {
|
||||
serializeGameEvent((GameEvent) value, gen, provider);
|
||||
} else if (value instanceof TeleportedEvent) {
|
||||
serializeTeleportedEvent((TeleportedEvent) value, gen, provider);
|
||||
} else if (value instanceof CustomEvent) {
|
||||
serializeCustomEvent((CustomEvent) value, gen, provider);
|
||||
}
|
||||
@ -144,6 +146,17 @@ public class EventSerializer extends StdSerializer<Event> {
|
||||
}
|
||||
}
|
||||
|
||||
private void serializeTeleportedEvent(
|
||||
TeleportedEvent value,
|
||||
JsonGenerator gen,
|
||||
SerializerProvider provider) throws IOException {
|
||||
gen.writeObjectField("teleportedEntity", value.teleportedEntity);
|
||||
gen.writeObjectField("originField", value.originField);
|
||||
gen.writeObjectField("targetField", value.targetField);
|
||||
gen.writeObjectField("originPortal", value.originPortal);
|
||||
gen.writeObjectField("targetPortal", value.targetPortal);
|
||||
}
|
||||
|
||||
private void serializeCustomEvent(
|
||||
CustomEvent value,
|
||||
JsonGenerator gen,
|
||||
|
Reference in New Issue
Block a user