Archived
0

add offers by mission on select route

This commit is contained in:
iMoHax
2015-09-11 16:21:27 +03:00
parent 7ca0b6a655
commit 43de32d00b
4 changed files with 44 additions and 1 deletions

View File

@@ -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);
}
});
}

View File

@@ -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;
}
}

View File

@@ -68,4 +68,8 @@ public class RouteEntryModel {
return sellOrders;
}
void refresh(MarketModel market){
orders.clear();
orders.addAll(BindingsHelper.observableList(entry.getOrders(), market.getModeler()::get));
}
}

View File

@@ -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();
}
}