Skip to content

Commit bdb91d0

Browse files
committed
Battlefield and matchmaking improvements
1 parent 2a32b9c commit bdb91d0

7 files changed

Lines changed: 101 additions & 4 deletions

File tree

spellsource-graphql/graphql/shared/fragments/serverGameMessage.graphql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ fragment serverGameMessage on ServerGameMessage {
3838
}
3939
showLocal
4040
}
41+
performedGameAction {
42+
actionType
43+
}
4144
entityTouched
4245
entityUntouched
4346
}

spellsource-graphql/schema.graphql

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4317,6 +4317,7 @@ type GameEvent {
43174317
targets: [Entity!]!
43184318
value: Int
43194319
cardEvent: CardEvent
4320+
performedGameAction: PerformedGameActionEvent
43204321
entityTouched: Int
43214322
entityUntouched: Int
43224323
}
@@ -4522,6 +4523,10 @@ enum MessageType {
45224523
TIMER
45234524
}
45244525

4526+
type PerformedGameActionEvent {
4527+
actionType: ActionType!
4528+
}
4529+
45254530
enum PlayerEntityAttribute {
45264531
SIGNATURE
45274532
}

spellsource-server/src/main/java/com/hiddenswitch/framework/graphql/GameEvent.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ public class GameEvent implements java.io.Serializable {
1616
private java.util.List<Entity> targets;
1717
private Integer value;
1818
private CardEvent cardEvent;
19+
private PerformedGameActionEvent performedGameAction;
1920
private Integer entityTouched;
2021
private Integer entityUntouched;
2122

2223
public GameEvent() {
2324
}
2425

25-
public GameEvent(GameEventType eventType, int id, String description, boolean isPowerHistory, boolean isSourcePlayerLocal, boolean isTargetPlayerLocal, Entity source, Entity target, java.util.List<Entity> targets, Integer value, CardEvent cardEvent, Integer entityTouched, Integer entityUntouched) {
26+
public GameEvent(GameEventType eventType, int id, String description, boolean isPowerHistory, boolean isSourcePlayerLocal, boolean isTargetPlayerLocal, Entity source, Entity target, java.util.List<Entity> targets, Integer value, CardEvent cardEvent, PerformedGameActionEvent performedGameAction, Integer entityTouched, Integer entityUntouched) {
2627
this.eventType = eventType;
2728
this.id = id;
2829
this.description = description;
@@ -34,6 +35,7 @@ public GameEvent(GameEventType eventType, int id, String description, boolean is
3435
this.targets = targets;
3536
this.value = value;
3637
this.cardEvent = cardEvent;
38+
this.performedGameAction = performedGameAction;
3739
this.entityTouched = entityTouched;
3840
this.entityUntouched = entityUntouched;
3941
}
@@ -115,6 +117,13 @@ public void setCardEvent(CardEvent cardEvent) {
115117
this.cardEvent = cardEvent;
116118
}
117119

120+
public PerformedGameActionEvent getPerformedGameAction() {
121+
return performedGameAction;
122+
}
123+
public void setPerformedGameAction(PerformedGameActionEvent performedGameAction) {
124+
this.performedGameAction = performedGameAction;
125+
}
126+
118127
public Integer getEntityTouched() {
119128
return entityTouched;
120129
}
@@ -148,6 +157,7 @@ public static class Builder {
148157
private java.util.List<Entity> targets;
149158
private Integer value;
150159
private CardEvent cardEvent;
160+
private PerformedGameActionEvent performedGameAction;
151161
private Integer entityTouched;
152162
private Integer entityUntouched;
153163

@@ -209,6 +219,11 @@ public Builder setCardEvent(CardEvent cardEvent) {
209219
return this;
210220
}
211221

222+
public Builder setPerformedGameAction(PerformedGameActionEvent performedGameAction) {
223+
this.performedGameAction = performedGameAction;
224+
return this;
225+
}
226+
212227
public Builder setEntityTouched(Integer entityTouched) {
213228
this.entityTouched = entityTouched;
214229
return this;
@@ -221,7 +236,7 @@ public Builder setEntityUntouched(Integer entityUntouched) {
221236

222237

223238
public GameEvent build() {
224-
return new GameEvent(eventType, id, description, isPowerHistory, isSourcePlayerLocal, isTargetPlayerLocal, source, target, targets, value, cardEvent, entityTouched, entityUntouched);
239+
return new GameEvent(eventType, id, description, isPowerHistory, isSourcePlayerLocal, isTargetPlayerLocal, source, target, targets, value, cardEvent, performedGameAction, entityTouched, entityUntouched);
225240
}
226241

227242
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package com.hiddenswitch.framework.graphql;
2+
3+
4+
public class PerformedGameActionEvent implements java.io.Serializable {
5+
6+
private static final long serialVersionUID = 1L;
7+
8+
private ActionType actionType;
9+
10+
public PerformedGameActionEvent() {
11+
}
12+
13+
public PerformedGameActionEvent(ActionType actionType) {
14+
this.actionType = actionType;
15+
}
16+
17+
public ActionType getActionType() {
18+
return actionType;
19+
}
20+
public void setActionType(ActionType actionType) {
21+
this.actionType = actionType;
22+
}
23+
24+
25+
26+
public static PerformedGameActionEvent.Builder builder() {
27+
return new PerformedGameActionEvent.Builder();
28+
}
29+
30+
public static class Builder {
31+
32+
private ActionType actionType;
33+
34+
public Builder() {
35+
}
36+
37+
public Builder setActionType(ActionType actionType) {
38+
this.actionType = actionType;
39+
return this;
40+
}
41+
42+
43+
public PerformedGameActionEvent build() {
44+
return new PerformedGameActionEvent(actionType);
45+
}
46+
47+
}
48+
}

spellsource-server/src/main/java/com/hiddenswitch/framework/impl/GraphQLGameBridge.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,9 @@ private static GameEvent toGraphQLEvent(Spellsource.GameEvent proto) {
168168
.setCard(proto.getCardEvent().hasCard() ? toGraphQLEntity(proto.getCardEvent().getCard()) : null)
169169
.setShowLocal(proto.getCardEvent().getShowLocal())
170170
.build() : null)
171+
.setPerformedGameAction(proto.hasPerformedGameAction() ? new PerformedGameActionEvent.Builder()
172+
.setActionType(ActionType.valueOf(proto.getPerformedGameAction().getActionType().name()))
173+
.build() : null)
171174
.setEntityTouched(proto.getEntityTouched() != 0 ? proto.getEntityTouched() : null)
172175
.setEntityUntouched(proto.getEntityUntouched() != 0 ? proto.getEntityUntouched() : null)
173176
.build();

spellsource-server/src/main/resources/schema.graphqls

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,10 @@ type CardEvent {
561561
showLocal: Boolean!
562562
}
563563

564+
type PerformedGameActionEvent {
565+
actionType: ActionType!
566+
}
567+
564568
type GameEvent {
565569
eventType: GameEventType!
566570
id: Int!
@@ -573,6 +577,7 @@ type GameEvent {
573577
targets: [Entity!]!
574578
value: Int
575579
cardEvent: CardEvent
580+
performedGameAction: PerformedGameActionEvent
576581
entityTouched: Int
577582
entityUntouched: Int
578583
}

spellsource-web/src/__generated__/client.ts

Lines changed: 20 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)