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 -> {
|
market.getRoutes(f, fS, t, tS, profile.getBalance(), specificator, routes -> {
|
||||||
Optional<RouteModel> path = Screeners.showRouters(routes);
|
Optional<RouteModel> path = Screeners.showRouters(routes);
|
||||||
if (path.isPresent()){
|
if (path.isPresent()){
|
||||||
|
RouteModel route = path.get();
|
||||||
|
route.addAll(missionsList.getItems());
|
||||||
|
Screeners.showHelper(route);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package ru.trader.model;
|
package ru.trader.model;
|
||||||
|
|
||||||
import ru.trader.analysis.CrawlerSpecificator;
|
import ru.trader.analysis.CrawlerSpecificator;
|
||||||
|
import ru.trader.core.Offer;
|
||||||
import ru.trader.store.simple.SimpleOffer;
|
import ru.trader.store.simple.SimpleOffer;
|
||||||
|
|
||||||
public class MissionModel {
|
public class MissionModel {
|
||||||
@@ -71,10 +72,14 @@ public class MissionModel {
|
|||||||
|
|
||||||
public void toSpecification(CrawlerSpecificator specificator){
|
public void toSpecification(CrawlerSpecificator specificator){
|
||||||
if (isSupply()){
|
if (isSupply()){
|
||||||
specificator.buy(SimpleOffer.fakeBuy(target.getStation(), item.getItem(), profit/count, count));
|
specificator.buy(toOffer());
|
||||||
} else
|
} else
|
||||||
if (isCourier() || isDelivery()){
|
if (isCourier() || isDelivery()){
|
||||||
specificator.add(target.getStation(), true);
|
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;
|
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 javafx.beans.property.SimpleDoubleProperty;
|
||||||
import ru.trader.analysis.Route;
|
import ru.trader.analysis.Route;
|
||||||
import ru.trader.analysis.RouteEntry;
|
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.core.Order;
|
||||||
import ru.trader.model.support.BindingsHelper;
|
import ru.trader.model.support.BindingsHelper;
|
||||||
|
|
||||||
@@ -118,4 +121,32 @@ public class RouteModel {
|
|||||||
return new RouteModel(_route, market);
|
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