summaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-07-30 13:41:55 +0200
committerMike Vink <mike1994vink@gmail.com>2021-07-30 13:41:55 +0200
commit04b66877f2608d0ee6586e3197569a6289087d58 (patch)
tree24455b84a334e6ba39a293c2ee2c4128b6eaa085 /api
parentc0004768de6695e2acfa48c392765b03b81ba9d0 (diff)
feat(): Working on battle UI
Diffstat (limited to 'api')
-rw-r--r--api/src/main/java/akkamon/api/MessagingEngine.java24
-rw-r--r--api/src/main/java/akkamon/api/models/BattleInitEvent.java15
-rw-r--r--api/src/main/java/akkamon/api/models/EventType.java3
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