add offers by mission on select route
This commit is contained in:
@@ -81,6 +81,9 @@ public class RouteSearchController {
|
||||
market.getRoutes(f, fS, t, tS, profile.getBalance(), specificator, routes -> {
|
||||
Optional<RouteModel> path = Screeners.showRouters(routes);
|
||||
if (path.isPresent()){
|
||||
RouteModel route = path.get();
|
||||
route.addAll(missionsList.getItems());
|
||||
Screeners.showHelper(route);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package ru.trader.model;
|
||||
|
||||
import ru.trader.analysis.CrawlerSpecificator;
|
||||
import ru.trader.core.Offer;
|
||||
import ru.trader.store.simple.SimpleOffer;
|
||||
|
||||
public class MissionModel {
|
||||
@@ -71,10 +72,14 @@ public class MissionModel {
|
||||
|
||||
public void toSpecification(CrawlerSpecificator specificator){
|
||||
if (isSupply()){
|
||||
specificator.buy(SimpleOffer.fakeBuy(target.getStation(), item.getItem(), profit/count, count));
|
||||
specificator.buy(toOffer());
|
||||
} else
|
||||
if (isCourier() || isDelivery()){
|
||||
specificator.add(target.getStation(), true);
|
||||
}
|
||||
}
|
||||
|
||||
Offer toOffer(){
|
||||
return isSupply() ? SimpleOffer.fakeBuy(target.getStation(), item.getItem(), profit/count, count) : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,4 +68,8 @@ public class RouteEntryModel {
|
||||
return sellOrders;
|
||||
}
|
||||
|
||||
void refresh(MarketModel market){
|
||||
orders.clear();
|
||||
orders.addAll(BindingsHelper.observableList(entry.getOrders(), market.getModeler()::get));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,9 @@ import javafx.beans.property.ReadOnlyDoubleProperty;
|
||||
import javafx.beans.property.SimpleDoubleProperty;
|
||||
import ru.trader.analysis.Route;
|
||||
import ru.trader.analysis.RouteEntry;
|
||||
import ru.trader.analysis.RouteFiller;
|
||||
import ru.trader.controllers.MainController;
|
||||
import ru.trader.core.Offer;
|
||||
import ru.trader.core.Order;
|
||||
import ru.trader.model.support.BindingsHelper;
|
||||
|
||||
@@ -118,4 +121,32 @@ public class RouteModel {
|
||||
return new RouteModel(_route, market);
|
||||
}
|
||||
|
||||
public void add(MissionModel mission){
|
||||
long cargo = MainController.getProfile().getShipCargo();
|
||||
Offer offer = mission.toOffer();
|
||||
if (offer != null){
|
||||
RouteFiller.addOrders(_route, 0, offer, cargo);
|
||||
for (RouteEntryModel entry : entries) {
|
||||
entry.sellOrders().clear();
|
||||
entry.refresh(market);
|
||||
}
|
||||
fillSellOrders();
|
||||
}
|
||||
}
|
||||
|
||||
public void addAll(Collection<MissionModel> missions){
|
||||
long cargo = MainController.getProfile().getShipCargo();
|
||||
for (MissionModel mission : missions) {
|
||||
Offer offer = mission.toOffer();
|
||||
if (offer != null){
|
||||
RouteFiller.addOrders(_route, 0, offer, cargo);
|
||||
}
|
||||
}
|
||||
for (RouteEntryModel entry : entries) {
|
||||
entry.sellOrders().clear();
|
||||
entry.refresh(market);
|
||||
}
|
||||
fillSellOrders();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user