WIP: [Feature]: Enemy Waves Part1 #17

Draft
snoweuph wants to merge 4 commits from story/td-5-gegnerwellen into trunk
12 changed files with 38 additions and 27 deletions
Showing only changes of commit 934c75d6d9 - Show all commits

View file

@ -1,4 +1,4 @@
package de.towerdefence.server.match;
package de.towerdefence.server.game;
import lombok.AllArgsConstructor;
import lombok.Getter;

View file

@ -1,9 +1,8 @@
package de.towerdefence.server.match;
package de.towerdefence.server.game;
import de.towerdefence.server.match.callbacks.PlayerHitpointsCallback;
import de.towerdefence.server.match.callbacks.PlayerMoneyCallback;
import de.towerdefence.server.match.exeptions.InvalidPlacementException;
import de.towerdefence.server.match.exeptions.InvalidPlacementReason;
import de.towerdefence.server.game.callbacks.PlayerMoneyCallback;
import de.towerdefence.server.game.exeptions.InvalidPlacementException;
import de.towerdefence.server.game.exeptions.InvalidPlacementReason;
import de.towerdefence.server.player.Player;
import lombok.Getter;

View file

@ -1,4 +1,4 @@
package de.towerdefence.server.match;
package de.towerdefence.server.game;
public class Tower {
public static final int COST = 20;

View file

@ -1,4 +1,4 @@
package de.towerdefence.server.match.callbacks;
package de.towerdefence.server.game.callbacks;
import de.towerdefence.server.player.Player;

View file

@ -1,4 +1,4 @@
package de.towerdefence.server.match.exeptions;
package de.towerdefence.server.game.exeptions;
import lombok.AllArgsConstructor;
import lombok.Getter;

View file

@ -1,4 +1,4 @@
package de.towerdefence.server.match.exeptions;
package de.towerdefence.server.game.exeptions;
import lombok.AllArgsConstructor;
import lombok.Getter;

View file

@ -5,8 +5,6 @@ import de.towerdefence.server.match.callbacks.PlayerMoneyCallback;
import de.towerdefence.server.player.Player;
import lombok.Getter;
import java.util.Optional;
@Getter
public class Match {

View file

@ -11,7 +11,19 @@ import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.*;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import org.springframework.stereotype.Service;
import de.towerdefence.server.game.GameSession;
import de.towerdefence.server.game.Tower;
import de.towerdefence.server.game.callbacks.PlayerMoneyCallback;
import de.towerdefence.server.game.exeptions.InvalidPlacementException;
import de.towerdefence.server.game.exeptions.InvalidPlacementReason;
import de.towerdefence.server.player.Player;
@Service
public class MatchService {

View file

@ -1,4 +1,4 @@
package de.towerdefence.server.match.exeptions;
package de.towerdefence.server.match;
public class NotInMatchException extends RuntimeException {
}

View file

@ -1,9 +1,19 @@
package de.towerdefence.server.server.channels.match;
import java.io.IOException;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import com.fasterxml.jackson.databind.ObjectMapper;
import de.towerdefence.server.game.exeptions.InvalidPlacementException;
import de.towerdefence.server.match.MatchService;
import de.towerdefence.server.match.exeptions.InvalidPlacementException;
import de.towerdefence.server.match.exeptions.NotInMatchException;
import de.towerdefence.server.match.NotInMatchException;
import de.towerdefence.server.player.Player;
import de.towerdefence.server.server.JsonWebsocketHandler;
import de.towerdefence.server.server.channels.match.hitpoints.PlayerHitpointsMessage;
@ -14,14 +24,6 @@ import de.towerdefence.server.server.channels.match.placing.RequestTowerPlacingM
import de.towerdefence.server.server.channels.match.placing.TowerPlacedMessage;
import de.towerdefence.server.session.Channel;
import de.towerdefence.server.session.SessionsService;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.TextMessage;
import org.springframework.web.socket.WebSocketSession;
import java.io.IOException;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
public class MatchWebsocketHandler extends JsonWebsocketHandler {

View file

@ -1,14 +1,14 @@
package de.towerdefence.server.server.channels.match.placing;
import java.util.Map;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import de.towerdefence.server.match.exeptions.InvalidPlacementReason;
import de.towerdefence.server.game.exeptions.InvalidPlacementReason;
import de.towerdefence.server.server.JsonMessage;
import lombok.AllArgsConstructor;
import java.util.Map;
@AllArgsConstructor
public class InvalidPlacementMessage extends JsonMessage {