From 04b66877f2608d0ee6586e3197569a6289087d58 Mon Sep 17 00:00:00 2001 From: Mike Vink Date: Fri, 30 Jul 2021 13:41:55 +0200 Subject: feat(): Working on battle UI --- api/src/main/java/akkamon/api/MessagingEngine.java | 24 ++++++++++++++++++++++ .../java/akkamon/api/models/BattleInitEvent.java | 15 ++++++++++++++ .../main/java/akkamon/api/models/EventType.java | 3 +++ 3 files changed, 42 insertions(+) create mode 100644 api/src/main/java/akkamon/api/models/BattleInitEvent.java (limited to 'api') diff --git a/api/src/main/java/akkamon/api/MessagingEngine.java b/api/src/main/java/akkamon/api/MessagingEngine.java index fb913ca..1c3a2b5 100644 --- a/api/src/main/java/akkamon/api/MessagingEngine.java +++ b/api/src/main/java/akkamon/api/MessagingEngine.java @@ -38,6 +38,13 @@ public class MessagingEngine implements AkkamonMessageEngine { } private void heartBeat() { + for (AkkamonSession session : trainerIDToAkkamonSessions.values()) { + session.send( + gson.toJson( + new HeartBeatEvent(null) + ) + ); + } nexus.tell(new AkkamonNexus.RequestHeartBeat( UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE, nexus @@ -170,6 +177,23 @@ public class MessagingEngine implements AkkamonMessageEngine { System.out.println("Handshake fail not implemented yet!"); } + @Override + public void broadCastBattleStart(Set participants) { + System.out.println("Sending battle start event!!"); + for (AkkamonNexus.TrainerID trainerID : participants) { + AkkamonSession session = trainerIDToAkkamonSessions.get(trainerID); + Set withoutself = new HashSet<>(participants); + withoutself.remove(trainerID); + if (session != null) { + session.send( + gson.toJson( + new BattleInitEvent(new ArrayList<>(withoutself)) + ) + ); + } + } + } + void incoming(AkkamonSession session, String message) { System.out.println(message); Event event = gson.fromJson(message, Event.class); diff --git a/api/src/main/java/akkamon/api/models/BattleInitEvent.java b/api/src/main/java/akkamon/api/models/BattleInitEvent.java new file mode 100644 index 0000000..71402c2 --- /dev/null +++ b/api/src/main/java/akkamon/api/models/BattleInitEvent.java @@ -0,0 +1,15 @@ +package akkamon.api.models; + +import akkamon.domain.actors.AkkamonNexus; + +import java.util.ArrayList; + +public class BattleInitEvent extends Event { + + public ArrayList participants; + + public BattleInitEvent(ArrayList participants) { + this.type = EventType.BATTLE_INIT; + this.participants = participants; + } +} diff --git a/api/src/main/java/akkamon/api/models/EventType.java b/api/src/main/java/akkamon/api/models/EventType.java index 610318f..497da49 100644 --- a/api/src/main/java/akkamon/api/models/EventType.java +++ b/api/src/main/java/akkamon/api/models/EventType.java @@ -30,6 +30,9 @@ public enum EventType { @SerializedName("InteractionReplyEvent") INTERACTION_REPLY, + @SerializedName("BattleInitEvent") + BATTLE_INIT, + @SerializedName("InteractionStarting") INTERACTION_START -- cgit v1.2.3