summaryrefslogtreecommitdiff
path: root/api/src
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-08-02 00:11:52 +0200
committerMike Vink <mike1994vink@gmail.com>2021-08-02 00:11:52 +0200
commit6d35c43741f02965f1702c35d7429a1df32ff576 (patch)
tree2550396fca77f7317215e6c101447e9be19e477b /api/src
parent82e9d093ae1186646f06f2b1397d6fb75b6bde22 (diff)
feat(battle): UI and Backend Engine setup!
Diffstat (limited to 'api/src')
-rw-r--r--api/src/main/java/akkamon/api/MessagingEngine.java12
-rw-r--r--api/src/main/java/akkamon/api/models/BattleInitEvent.java7
2 files changed, 14 insertions, 5 deletions
diff --git a/api/src/main/java/akkamon/api/MessagingEngine.java b/api/src/main/java/akkamon/api/MessagingEngine.java
index 1c3a2b5..cdb9a27 100644
--- a/api/src/main/java/akkamon/api/MessagingEngine.java
+++ b/api/src/main/java/akkamon/api/MessagingEngine.java
@@ -4,6 +4,7 @@ import akka.actor.typed.ActorRef;
import akka.actor.typed.ActorSystem;
import akkamon.api.models.*;
import akkamon.domain.AkkamonMessageEngine;
+import akkamon.domain.actors.AkkamonBattle;
import akkamon.domain.actors.AkkamonNexus;
import akkamon.domain.AkkamonSession;
import akkamon.domain.InteractionHandshaker;
@@ -178,16 +179,19 @@ public class MessagingEngine implements AkkamonMessageEngine {
}
@Override
- public void broadCastBattleStart(Set<AkkamonNexus.TrainerID> participants) {
+ public void broadCastBattleStart(AkkamonBattle.BattleCreatedResponse response) {
System.out.println("Sending battle start event!!");
- for (AkkamonNexus.TrainerID trainerID : participants) {
+ for (AkkamonNexus.TrainerID trainerID : response.participants) {
AkkamonSession session = trainerIDToAkkamonSessions.get(trainerID);
- Set<AkkamonNexus.TrainerID> withoutself = new HashSet<>(participants);
+ Set<AkkamonNexus.TrainerID> withoutself = new HashSet<>(response.participants);
withoutself.remove(trainerID);
if (session != null) {
session.send(
gson.toJson(
- new BattleInitEvent(new ArrayList<>(withoutself))
+ new BattleInitEvent(
+ new ArrayList<>(withoutself),
+ response.initState.get(trainerID)
+ )
)
);
}
diff --git a/api/src/main/java/akkamon/api/models/BattleInitEvent.java b/api/src/main/java/akkamon/api/models/BattleInitEvent.java
index 71402c2..c0f2fbe 100644
--- a/api/src/main/java/akkamon/api/models/BattleInitEvent.java
+++ b/api/src/main/java/akkamon/api/models/BattleInitEvent.java
@@ -1,15 +1,20 @@
package akkamon.api.models;
import akkamon.domain.actors.AkkamonNexus;
+import akkamon.domain.model.battle.BattleMessage;
+import akkamon.domain.model.battle.state.BattleState;
import java.util.ArrayList;
+import java.util.Map;
public class BattleInitEvent extends Event {
public ArrayList<AkkamonNexus.TrainerID> participants;
+ public BattleMessage message;
- public BattleInitEvent(ArrayList<AkkamonNexus.TrainerID> participants) {
+ public BattleInitEvent(ArrayList<AkkamonNexus.TrainerID> participants, BattleMessage introductionMessage) {
this.type = EventType.BATTLE_INIT;
this.participants = participants;
+ this.message = introductionMessage;
}
}