Starsector API
Loading...
Searching...
No Matches
FleetStubConverterPluginImpl.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign;
2
3import com.fs.starfarer.api.campaign.CampaignFleetAPI;
4import com.fs.starfarer.api.campaign.FleetStubAPI;
5import com.fs.starfarer.api.campaign.FleetStubConverterPlugin;
6
7public class FleetStubConverterPluginImpl implements FleetStubConverterPlugin {
8
9 public CampaignFleetAPI convertToFleet(FleetStubAPI stub) {
10// if (stub == null || !(stub.getParams() instanceof FleetParams)) {
11// throw new RuntimeException("Trying to convert invalid fleet stub with FleetStubConverterPluginImpl");
12// }
13//
14// FleetParams params = (FleetParams) stub.getParams();
15// CampaignFleetAPI fleet = FleetFactoryV2.createFleet(params);
16//
17// MemoryAPI memory = fleet.getMemoryWithoutUpdate();
18// fleet.setMemory(stub.getMemoryWithoutUpdate());
19//
20// String sourceMarket = memory.getString(MemFlags.MEMORY_KEY_SOURCE_MARKET);
21// if (sourceMarket != null) {
22// fleet.getMemoryWithoutUpdate().set(MemFlags.MEMORY_KEY_SOURCE_MARKET, sourceMarket);
23// }
24//
25// fleet.setId(stub.getId());
26//
27//
28// for (FleetAssignmentDataAPI curr : stub.getAssignmentsCopy()) {
29// fleet.addAssignment(curr.getAssignment(), curr.getTarget(), curr.getMaxDurationInDays(),
30// curr.getActionText(), curr.getOnCompletion());
31// }
32//
33// if (stub.getContainingLocation() != null) {
34// stub.getContainingLocation().addEntity(fleet);
35// stub.getContainingLocation().removeFleetStub(stub);
36// }
37//
38// fleet.setLocation(stub.getLocation().x, stub.getLocation().y);
39//
40//
41// if (stub.getScripts() != null) {
42// for (EveryFrameScript script : stub.getScripts()) {
43// fleet.addScript(script);
44// }
45// //stub.getScripts().clear();
46// }
47//
48// if (stub.getEventListeners() != null) {
49// for (FleetEventListener listener : stub.getEventListeners()) {
50// fleet.addEventListener(listener);
51// }
52// stub.getEventListeners().clear();
53// }
54//
55// stub.setFleet(fleet);
56// stub.setMemory(null);
57// stub.clearAssignments();
58//
59// fleet.setStub(stub);
60//
61// return fleet;
62 return null;
63 }
64
65
66 public FleetStubAPI convertToStub(CampaignFleetAPI fleet) {
67// MemoryAPI memory = fleet.getMemoryWithoutUpdate();
68// memory.advance(10000f); // flush out anything temporary
69//
70// FleetStubAPI stub = fleet.getStub();
71// stub.setMemory(memory);
72// stub.setFleet(null);
73//
74// stub.clearAssignments();
75// for (FleetAssignmentDataAPI curr : fleet.getAssignmentsCopy()) {
76// stub.addAssignment(curr.getAssignment(), curr.getTarget(), curr.getMaxDurationInDays(),
77// curr.getActionText(), curr.getOnCompletion());
78// }
79//
88//
89// if (fleet.getEventListeners() != null) {
90// if (stub.getEventListeners() != null) {
91// stub.getEventListeners().clear();
92// }
93// for (FleetEventListener listener : fleet.getEventListeners()) {
94// stub.addEventListener(listener);
95// }
96// }
97//
98// if (fleet.getContainingLocation() != null) {
99// fleet.getContainingLocation().removeEntity(fleet);
100// fleet.getContainingLocation().addFleetStub(stub);
101// stub.setContainingLocation(fleet.getContainingLocation());
102// }
103//
104// stub.getLocation().set(fleet.getLocation().x, fleet.getLocation().y);
105
106
107 return null;
108 }
109
110
111 public boolean shouldConvertFromStub(FleetStubAPI stub) {
112 return true;
113 //return Misc.shouldConvertFromStub(stub);
114 }
115
116 public boolean shouldConvertToStub(CampaignFleetAPI fleet) {
117 return false;
118 //return Misc.shouldConvertToStub(fleet);
119 }
120}
121
122
123
124
125
126
127
128
129
130
131