20 public static enum Status {
35 public static enum EngagementOutcome {
38 BATTLE_PLAYER_WIN_TOTAL,
40 BATTLE_ENEMY_WIN_TOTAL,
41 ESCAPE_PLAYER_LOSS_TOTAL,
42 ESCAPE_PLAYER_SUCCESS,
44 ESCAPE_PLAYER_WIN_TOTAL,
45 ESCAPE_ENEMY_LOSS_TOTAL,
48 ESCAPE_ENEMY_WIN_TOTAL,
50 BATTLE_PLAYER_OUT_FIRST_WIN,
51 BATTLE_PLAYER_OUT_FIRST_LOSS,
52 ESCAPE_PLAYER_OUT_FIRST_WIN,
53 ESCAPE_PLAYER_OUT_FIRST_LOSS,
54 PURSUIT_PLAYER_OUT_FIRST_WIN,
55 PURSUIT_PLAYER_OUT_FIRST_LOSS,
58 public static class FleetMemberData {
59 private Status status;
60 private FleetMemberAPI member;
61 public FleetMemberData(Status status, FleetMemberAPI member) {
65 public Status getStatus() {
68 public FleetMemberAPI getMember() {
71 public void setStatus(Status status) {
74 public void setMember(FleetMemberAPI member) {
79 public static class DataForEncounterSide {
80 public static class OfficerEngagementData {
82 public PersonAPI person;
83 public float timeDeployed;
85 this.sourceFleet = sourceFleet;
88 private float maxTimeDeployed;
89 private Map<PersonAPI, OfficerEngagementData> officerData =
new HashMap<PersonAPI, OfficerEngagementData>();
90 private Map<FleetMemberAPI, OfficerEngagementData> fleetMemberDeploymentData =
new HashMap<FleetMemberAPI, OfficerEngagementData>();
94 private List<FleetMemberData> ownCasualties =
new ArrayList<FleetMemberData>();
95 private List<FleetMemberData> enemyCasualties =
new ArrayList<FleetMemberData>();
97 private List<FleetMemberAPI> deployedInLastEngagement =
new ArrayList<FleetMemberAPI>();
98 private List<FleetMemberAPI> retreatedFromLastEngagement =
new ArrayList<FleetMemberAPI>();
99 private List<FleetMemberAPI> inReserveDuringLastEngagement =
new ArrayList<FleetMemberAPI>();
100 private List<FleetMemberAPI> disabledInLastEngagement =
new ArrayList<FleetMemberAPI>();
101 private List<FleetMemberAPI> destroyedInLastEngagement =
new ArrayList<FleetMemberAPI>();
102 private Map<FleetMemberAPI, DeployedFleetMemberAPI> memberToDeployedMap =
new HashMap<FleetMemberAPI, DeployedFleetMemberAPI>();
104 private Set<FleetMemberAPI> membersWithOfficerOrPlayerAsOrigCaptain =
new LinkedHashSet<FleetMemberAPI>();
109 private boolean wonLastEngagement =
false;
110 private FleetGoal lastGoal =
null;
111 private boolean disengaged =
false;
112 private boolean didEnoughToDisengage =
false;
113 private boolean enemyCanCleanDisengage =
false;
120 public Set<FleetMemberAPI> getMembersWithOfficerOrPlayerAsOrigCaptain() {
121 return membersWithOfficerOrPlayerAsOrigCaptain;
124 public float getMaxTimeDeployed() {
125 return maxTimeDeployed;
128 public void setMaxTimeDeployed(
float maxTimeDeployed) {
129 this.maxTimeDeployed = maxTimeDeployed;
132 public Map<PersonAPI, OfficerEngagementData> getOfficerData() {
135 public Map<FleetMemberAPI, OfficerEngagementData> getFleetMemberDeploymentData() {
136 return fleetMemberDeploymentData;
139 public CrewCompositionAPI getRecoverableCrewLosses() {
140 return recoverableCrewLosses;
142 public CrewCompositionAPI getCrewLossesDuringLastEngagement() {
143 return crewLossesDuringLastEngagement;
148 public List<FleetMemberData> getOwnCasualties() {
149 return ownCasualties;
151 public List<FleetMemberData> getEnemyCasualties() {
152 return enemyCasualties;
154 public void addOwn(FleetMemberAPI member, Status status) {
155 ownCasualties.add(
new FleetMemberData(status, member));
157 public void removeOwnCasualty(FleetMemberAPI member) {
158 for (FleetMemberData data : ownCasualties) {
159 if (data.member == member) {
160 ownCasualties.remove(data);
165 public void removeEnemyCasualty(FleetMemberAPI member) {
166 for (FleetMemberData data : enemyCasualties) {
167 if (data.member == member) {
168 enemyCasualties.remove(data);
173 public void changeOwn(FleetMemberAPI member, Status newStatus) {
174 for (FleetMemberData data : ownCasualties) {
175 if (data.member == member) {
176 data.status = newStatus;
181 public void changeEnemy(FleetMemberAPI member, Status newStatus) {
182 for (FleetMemberData data : enemyCasualties) {
183 if (data.member == member) {
184 data.status = newStatus;
189 public void addEnemy(FleetMemberAPI member, Status status) {
190 enemyCasualties.add(
new FleetMemberData(status, member));
192 public boolean isWonLastEngagement() {
193 return wonLastEngagement;
195 public void setWonLastEngagement(
boolean wonLastEngagement) {
196 this.wonLastEngagement = wonLastEngagement;
198 public FleetGoal getLastGoal() {
201 public void setLastGoal(FleetGoal lastGoal) {
202 this.lastGoal = lastGoal;
204 public boolean disengaged() {
207 public void setDisengaged(
boolean disengaged) {
208 this.disengaged = disengaged;
210 public List<FleetMemberAPI> getDeployedInLastEngagement() {
211 return deployedInLastEngagement;
213 public List<FleetMemberAPI> getRetreatedFromLastEngagement() {
214 return retreatedFromLastEngagement;
216 public List<FleetMemberAPI> getInReserveDuringLastEngagement() {
217 return inReserveDuringLastEngagement;
219 public List<FleetMemberAPI> getDisabledInLastEngagement() {
220 return disabledInLastEngagement;
222 public List<FleetMemberAPI> getDestroyedInLastEngagement() {
223 return destroyedInLastEngagement;
225 public boolean isDidEnoughToDisengage() {
226 return didEnoughToDisengage;
228 public void setDidEnoughToDisengage(
boolean didEnoughToDisengage) {
229 this.didEnoughToDisengage = didEnoughToDisengage;
235 public Map<FleetMemberAPI, DeployedFleetMemberAPI> getMemberToDeployedMap() {
236 return memberToDeployedMap;
239 public boolean isEnemyCanCleanDisengage() {
240 return enemyCanCleanDisengage;
243 public void setEnemyCanCleanDisengage(
boolean enemyCanCleanDisengage) {
244 this.enemyCanCleanDisengage = enemyCanCleanDisengage;
258 public static enum PursueAvailability {
263 LOST_LAST_ENGAGEMENT,
266 public static enum DisengageHarryAvailability {
269 LOST_LAST_ENGAGEMENT,