Player: fix StackError

This commit is contained in:
Hans Mackowiak
2020-11-27 17:17:21 +01:00
committed by Northmoc
parent 5e71acb082
commit 3f78aee7e2

View File

@@ -2537,14 +2537,14 @@ public class Player extends GameEntity implements Comparable<Player> {
public void addController(long timestamp, Player pl) { public void addController(long timestamp, Player pl) {
final IGameEntitiesFactory master = (IGameEntitiesFactory)pl.getLobbyPlayer(); final IGameEntitiesFactory master = (IGameEntitiesFactory)pl.getLobbyPlayer();
addController(timestamp, master.createMindSlaveController(pl, this), true); addController(timestamp, pl, master.createMindSlaveController(pl, this), true);
} }
public void addController(long timestamp, PlayerController pc, boolean event) { public void addController(long timestamp, Player pl, PlayerController pc, boolean event) {
final LobbyPlayer oldLobbyPlayer = getLobbyPlayer(); final LobbyPlayer oldLobbyPlayer = getLobbyPlayer();
final PlayerController oldController = getController(); final PlayerController oldController = getController();
controlledBy.put(timestamp, Pair.of(pc.getPlayer(), pc)); controlledBy.put(timestamp, Pair.of(pl, pc));
getView().updateMindSlaveMaster(this); getView().updateMindSlaveMaster(this);
if (event) { if (event) {
@@ -2610,11 +2610,11 @@ public class Player extends GameEntity implements Comparable<Player> {
*/ */
public void runWithController(Runnable proc, PlayerController tempController) { public void runWithController(Runnable proc, PlayerController tempController) {
long ts = game.getNextTimestamp(); long ts = game.getNextTimestamp();
this.addController(ts, tempController, false); addController(ts, this, tempController, false);
try { try {
proc.run(); proc.run();
} finally { } finally {
this.removeController(ts, false); removeController(ts, false);
} }
} }