Refactor of GUI - synchronized methods

Changed info box
This commit is contained in:
2026-05-22 17:21:24 +02:00
parent 9cef4617cd
commit 5b7e33f5dd
20 changed files with 215 additions and 236 deletions
@@ -46,12 +46,14 @@ public class AddPlayer extends NetworkEvent implements Serializable {
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
synchronized (miniModel) {
if (isError)
return false;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
}
}
}
@@ -59,15 +59,17 @@ public class ApplyNextRound extends NetworkEvent implements Serializable{
}
public boolean apply(MiniModel miniModel)
{
miniModel.setSlotPlayerMap(slotPlayerMap);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setPlayers(players);
miniModel.upperListTribeCards=upperListTribeCards;
miniModel.lowerListTribeCards=lowerListTribeCards;
miniModel.upperListBuildingCards=upperListBuildingCards;
miniModel.lowerListBuildingCards=lowerListBuildingCards;
return true;
synchronized (miniModel) {
miniModel.setSlotPlayerMap(slotPlayerMap);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setPlayers(players);
miniModel.upperListTribeCards = upperListTribeCards;
miniModel.lowerListTribeCards = lowerListTribeCards;
miniModel.upperListBuildingCards = upperListBuildingCards;
miniModel.lowerListBuildingCards = lowerListBuildingCards;
return true;
}
}
}
@@ -33,16 +33,17 @@ public class DisconnectedPlayer extends NetworkEvent implements Serializable{
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
if(miniModel!=null)
{
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
synchronized (miniModel) {
if (isError)
return false;
if (miniModel != null) {
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
}
return true;
}
return true;
}
}
@@ -39,16 +39,17 @@ public class DrawLowerBuildingCard extends NetworkEvent implements Serializable
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
miniModel.lowerListBuildingCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
synchronized (miniModel) {
if (isError)
return false;
miniModel.lowerListBuildingCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
}
}
}
@@ -38,16 +38,17 @@ public class DrawLowerTribeCard extends NetworkEvent implements Serializable{
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
miniModel.lowerListTribeCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
synchronized (miniModel) {
if (isError)
return false;
miniModel.lowerListTribeCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
}
}
}
@@ -39,15 +39,16 @@ public class DrawUpperBuildingCard extends NetworkEvent implements Serializable
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
miniModel.upperListBuildingCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
synchronized (miniModel) {
if (isError)
return false;
miniModel.upperListBuildingCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
}
}
}
@@ -38,15 +38,16 @@ public class DrawUpperTribeCard extends NetworkEvent implements Serializable{
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
miniModel.upperListTribeCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
synchronized (miniModel) {
if (isError)
return false;
miniModel.upperListTribeCards.remove(pos);
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
}
}
@@ -48,12 +48,14 @@ public class EndedGame extends NetworkEvent implements Serializable{
}
public boolean apply(MiniModel miniModel)
{
miniModel.setSlotPlayerMap(slotPlayerMap);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setPlayers(players);
miniModel.setStandingPlayers(players);
return true;
synchronized (miniModel) {
miniModel.setSlotPlayerMap(slotPlayerMap);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setPlayers(players);
miniModel.setStandingPlayers(players);
return true;
}
}
}
@@ -45,16 +45,18 @@ public class ReconnectPlayer extends NetworkEvent implements Serializable {
*/
@Override
public boolean apply(MiniModel miniModel) {
if (isError)
return false;
synchronized (miniModel) {
if (isError)
return false;
if (miniModel != null) {
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
if (miniModel != null) {
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
}
return true;
}
return true;
}
}
@@ -33,14 +33,15 @@ public class SkipTurn extends NetworkEvent implements Serializable{
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
synchronized (miniModel) {
if (isError)
return false;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
}
}
}
@@ -39,14 +39,15 @@ public class SlotChoice extends NetworkEvent implements Serializable {
//TODO
@Override
public boolean apply(MiniModel miniModel){
if(isError)
return false;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
synchronized (miniModel) {
if (isError)
return false;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
return true;
}
}
}
@@ -69,14 +69,16 @@ public class TotemChoice extends NetworkEvent implements Serializable {
*/
@Override
public boolean apply(MiniModel miniModel) {
if (isError)
return false;
synchronized (miniModel) {
if (isError)
return false;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
miniModel.setAvailableTotems(availableTotems);
return true;
miniModel.setPlayers(playerList);
miniModel.setOrderLogicCard(orderLogicCard);
miniModel.setCurrentState(currentState);
miniModel.setSlotPlayerMap(slotPlayerMap);
miniModel.setAvailableTotems(availableTotems);
return true;
}
}
}
@@ -40,10 +40,8 @@ public class ClientCallbackImpl extends UnicastRemoteObject implements IClientCa
*/
@Override
public void onGameInit(MiniModel model) throws RemoteException {
Platform.runLater(() -> {
clientController.setModel(model);
clientController.view.render();
});
clientController.setModel(model);
clientController.view.render();
}
@@ -56,15 +54,12 @@ public class ClientCallbackImpl extends UnicastRemoteObject implements IClientCa
*/
@Override
public void onAction(NetworkEvent event) throws RemoteException {
synchronized (clientController) {
if(event.getIsError()) {
clientController.view.showError(event.toString());
} else {
Platform.runLater(() -> {
event.apply(clientController.miniModel);
clientController.view.render();
});
}
if(event.getIsError()) {
clientController.view.showError(event.toString());
} else {
event.apply(clientController.miniModel);
clientController.view.render();
}
}
}