Skip to content

Commit

Permalink
Added ZoneChangeMessage and EntityRemoveMessage
Browse files Browse the repository at this point in the history
  • Loading branch information
Zomis committed Sep 18, 2014
1 parent 8bb99a7 commit f61e593
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.cardshifter.server.incoming.StartGameRequest;
import com.cardshifter.server.incoming.UseAbilityMessage;
import com.cardshifter.server.outgoing.CardInfoMessage;
import com.cardshifter.server.outgoing.EntityRemoveMessage;
import com.cardshifter.server.outgoing.GameMessage;
import com.cardshifter.server.outgoing.NewGameMessage;
import com.cardshifter.server.outgoing.PlayerMessage;
Expand All @@ -17,6 +18,7 @@
import com.cardshifter.server.outgoing.UseableActionMessage;
import com.cardshifter.server.outgoing.WaitMessage;
import com.cardshifter.server.outgoing.WelcomeMessage;
import com.cardshifter.server.outgoing.ZoneChangeMessage;
import com.cardshifter.server.outgoing.ZoneMessage;
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
import com.fasterxml.jackson.databind.JavaType;
Expand All @@ -33,6 +35,8 @@ public class MessageTypeIdResolver implements TypeIdResolver {
clazzes.put("startgame", StartGameRequest.class);
clazzes.put("use", UseAbilityMessage.class);
clazzes.put("requestTargets", RequestTargetsMessage.class);
clazzes.put("zoneChange", ZoneChangeMessage.class);
clazzes.put("entityRemoved", EntityRemoveMessage.class);

clazzes.put("resetActions", ResetAvailableActionsMessage.class);
clazzes.put("game", GameMessage.class);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.cardshifter.server.outgoing;

import com.cardshifter.server.messages.Message;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

public class EntityRemoveMessage extends Message {

private final int entity;

@JsonCreator
public EntityRemoveMessage(@JsonProperty("entity") int entity) {
super("entityRemoved");
this.entity = entity;
}

public int getEntity() {
return entity;
}

@Override
public String toString() {
return "EntityRemoveMessage [entity=" + entity + "]";
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.cardshifter.server.outgoing;

import com.cardshifter.server.messages.Message;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

public class ZoneChangeMessage extends Message {

private final int entity;
private final int sourceZone;
private final int destinationZone;

@JsonCreator
public ZoneChangeMessage(@JsonProperty("entity") int entity,
@JsonProperty("sourceZone") int sourceZone, @JsonProperty("destinationZone") int destinationZone) {
super("zoneChange");
this.entity = entity;
this.sourceZone = sourceZone;
this.destinationZone = destinationZone;
}

public int getEntity() {
return entity;
}

public int getSourceZone() {
return sourceZone;
}

public int getDestinationZone() {
return destinationZone;
}

@Override
public String toString() {
return "ZoneChangeMessage [entity=" + entity + ", sourceZone="
+ sourceZone + ", destinationZone=" + destinationZone + "]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,12 @@
import com.cardshifter.server.incoming.UseAbilityMessage;
import com.cardshifter.server.main.FakeAIClientTCG;
import com.cardshifter.server.outgoing.CardInfoMessage;
import com.cardshifter.server.outgoing.EntityRemoveMessage;
import com.cardshifter.server.outgoing.PlayerMessage;
import com.cardshifter.server.outgoing.ResetAvailableActionsMessage;
import com.cardshifter.server.outgoing.UpdateMessage;
import com.cardshifter.server.outgoing.UseableActionMessage;
import com.cardshifter.server.outgoing.ZoneChangeMessage;
import com.cardshifter.server.outgoing.ZoneMessage;

public class TCGGame extends ServerGame {
Expand All @@ -62,11 +64,17 @@ public TCGGame(Server server, int id) {
}

private void zoneChange(ZoneChangeEvent event) {

for (ClientIO io : this.getPlayers()) {
Entity player = playerFor(io);
io.sendToClient(new ZoneChangeMessage(event.getCard().getId(), event.getSource().getZoneId(), event.getDestination().getZoneId()));
if (event.getDestination().isKnownTo(player) && event.getSource().isKnownTo(player)) {
sendCard(io, event.getCard());
}
}
}

private void remove(EntityRemoveEvent event) {

this.send(new EntityRemoveMessage(event.getEntity().getId()));
}

private void broadcast(ResourceValueChange event) {
Expand Down

0 comments on commit f61e593

Please sign in to comment.