diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2021-07-30 13:41:55 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2021-07-30 13:41:55 +0200 |
| commit | 04b66877f2608d0ee6586e3197569a6289087d58 (patch) | |
| tree | 24455b84a334e6ba39a293c2ee2c4128b6eaa085 /api | |
| parent | c0004768de6695e2acfa48c392765b03b81ba9d0 (diff) | |
feat(): Working on battle UI
Diffstat (limited to 'api')
| -rw-r--r-- | api/src/main/java/akkamon/api/MessagingEngine.java | 24 | ||||
| -rw-r--r-- | api/src/main/java/akkamon/api/models/BattleInitEvent.java | 15 | ||||
| -rw-r--r-- | api/src/main/java/akkamon/api/models/EventType.java | 3 |
3 files changed, 42 insertions, 0 deletions
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<AkkamonNexus.TrainerID> participants) { + System.out.println("Sending battle start event!!"); + for (AkkamonNexus.TrainerID trainerID : participants) { + AkkamonSession session = trainerIDToAkkamonSessions.get(trainerID); + Set<AkkamonNexus.TrainerID> 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<AkkamonNexus.TrainerID> participants; + + public BattleInitEvent(ArrayList<AkkamonNexus.TrainerID> 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 |
