mirror of
https://github.com/2OOP/pism.git
synced 2026-02-04 19:04:49 +00:00
Added ability to take ServerPlayer from user
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
package org.toop.framework.networking.server;
|
||||
|
||||
import org.toop.framework.game.gameThreads.LocalThreadBehaviour;
|
||||
import org.toop.framework.game.gameThreads.OnlineThreadBehaviour;
|
||||
import org.toop.framework.game.gameThreads.ServerThreadBehaviour;
|
||||
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
|
||||
|
||||
|
||||
@@ -54,20 +54,19 @@ public class ServerHandler extends SimpleChannelInboundHandler<String> {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean allowedArgs(String... args) {
|
||||
if (args.length < 1) return false;
|
||||
return true;
|
||||
private boolean hasArgs(String... args) {
|
||||
return (args.length >= 1);
|
||||
}
|
||||
|
||||
private void handleLogin(ParsedMessage p) {
|
||||
|
||||
if (!allowedArgs(p.args())) return;
|
||||
if (hasArgs(p.args())) return;
|
||||
|
||||
user.setName(p.args()[0]);
|
||||
}
|
||||
|
||||
private void handleGet(ParsedMessage p) {
|
||||
if (!allowedArgs(p.args())) return;
|
||||
if (hasArgs(p.args())) return;
|
||||
|
||||
switch (p.args()[0]) {
|
||||
case "playerlist" -> {
|
||||
@@ -94,7 +93,7 @@ public class ServerHandler extends SimpleChannelInboundHandler<String> {
|
||||
}
|
||||
|
||||
private void handleChallenge(ParsedMessage p) {
|
||||
if(!allowedArgs(p.args())) return;
|
||||
if(hasArgs(p.args())) return;
|
||||
if (p.args().length < 2) return;
|
||||
|
||||
if (p.args()[0].equalsIgnoreCase("accept")) {
|
||||
@@ -119,8 +118,10 @@ public class ServerHandler extends SimpleChannelInboundHandler<String> {
|
||||
}
|
||||
|
||||
private void handleMove(ParsedMessage p) {
|
||||
if(!allowedArgs(p.args())) return;
|
||||
if(hasArgs(p.args())) return;
|
||||
|
||||
// TODO check if not number
|
||||
user.serverPlayer().setMove(Integer.parseInt(p.args()[0]));
|
||||
}
|
||||
|
||||
private ParsedMessage parse(String msg) {
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package org.toop.framework.networking.server;
|
||||
|
||||
import org.toop.framework.game.players.ServerPlayer;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public interface ServerUser {
|
||||
long id();
|
||||
String name();
|
||||
Game game();
|
||||
void addGame(Game game);
|
||||
ServerPlayer serverPlayer();
|
||||
void addGame(Game game, ServerPlayer player);
|
||||
void removeGame();
|
||||
void setName(String name);
|
||||
void sendMessage(String message);
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package org.toop.framework.networking.server;
|
||||
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import org.toop.framework.game.players.ServerPlayer;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class User implements ServerUser {
|
||||
final private long id;
|
||||
private String name;
|
||||
private Game game;
|
||||
private final Map<Game, ServerPlayer> game = new HashMap<>();
|
||||
private ChannelHandlerContext connectionContext;
|
||||
|
||||
public User(long userId, String name) {
|
||||
@@ -23,23 +27,25 @@ public class User implements ServerUser {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void addGame(Game game) {
|
||||
if (this.game == null) {
|
||||
this.game = game;
|
||||
public void addGame(Game game, ServerPlayer player) {
|
||||
if (this.game.isEmpty()) {
|
||||
this.game.put(game, player);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeGame() {
|
||||
this.game = null;
|
||||
this.game.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Game game() {
|
||||
return this.game;
|
||||
return this.game.keySet().iterator().next();
|
||||
}
|
||||
|
||||
public ServerPlayer serverPlayer() {
|
||||
return this.game.values().iterator().next();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user