/
Controller.java
113 lines (94 loc) · 2.64 KB
/
Controller.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import java.util.*;
public class Controller{
private String command;
private LinkedList<String> neighborLocations;
private Player player;
private userInput model;
private LinkedList<Work> jobsinArea;
//private MyPanelTwo view;
//private MyPanel design;
//private Board board;
private Window view;
public Controller(userInput model, Window view){
neighborLocations = new LinkedList<String>();
command = new String();
jobsinArea = new LinkedList<Work>();
this.model = model;
this.view = view;
}
public void setPlayer(Player player){
this.player = player;
command = new String();
view.passPlayerDetails(player);
disableMove(player.isWorking());
disableWork(player.getLocation().getSet());
disableUpgrade(player.getLocation());
}
public void setJobsInArea(LinkedList<Work> jobs){ jobsinArea = jobs; }
public void addNeighborName(String name){ neighborLocations.add(name); }
public LinkedList<String> getNeighbors(){ return neighborLocations; }
public void clearNeighbors(){ neighborLocations = new LinkedList<String>(); }
public void redisplayImage(){
view.passPlayerDetails(player);
}
public void disableUpgrade(Location loc){
if(loc.getID() != 8){
showHomeButton("Upgrade", false);
}else{
showHomeButton("Upgrade", true);
}
}
public void disableMove(boolean isWorking){
if(isWorking){
showHomeButton("Move", false);
}
}
public void finishedAction(String name){
System.out.println("name false: " + name);
showHomeButton(name, false);
}
private void disableWork(Set set){
if(set.getShotCounter() == 0){
showHomeButton("Work", false);
}else{
showHomeButton("Work", true);
}
}
public void fixView(String command){//
switch(command){
case "MOVE":
LinkedList<String> neighbors = model.getNeighbors();
view.retrieveNeighbors(neighbors);
view.movePanel();
break;
case "WORK":
view.workPanel();
break;
case "ROLE":
if(jobsinArea.size() == 0 && !player.isWorking()){
setJobsInArea(player.getLocation().getSet().getAllActors());
view.createJobButtons(jobsinArea, player.getLevel());
}
view.rolePanel();
break;
case "UPGRADE":
break;
case "NO":
view.setDefaultScreen();
break;
case "END"://refresh move for the next player
showHomeButton("Move", true);
jobsinArea.clear();
default:
}
}
public void wrapup(){ view.setDefaultScreen(); }
private void showHomeButton(String name, boolean visible){ view.setHomeButton(name, visible); }
public void getCommand(){
//System.out.println("WAITING");
//view.retrieved();
command = view.getCommand();
model.setUserInput(command);
//view.resetCommand();
}
}