package org.ojim.client.ai.commands;
import org.ojim.logic.Logic;
import org.ojim.logic.state.fields.BuyableField;
import edu.kit.iti.pse.iface.IServer;
/**
*
* Trade Command:
* Start a trade with another player
*
* @author Jeremias Mechler
*
*/
public class TradeCommand extends Command {
private BuyableField sell;
private BuyableField request;
/**
* Constructor
* @param logic
* reference to logic
* @param playerId
* calling player's id
* @param server
* reference to server
* @param sell
* field to sell
* @param request
* requested field
*/
public TradeCommand(Logic logic, int playerId, IServer server, BuyableField sell, BuyableField request) {
super(logic, playerId, server);
this.sell = sell;
this.request = request;
}
private static final long serialVersionUID = -9030880338667586521L;
/**
* @{inheritDoc}
*/
public void execute() {
this.initTrade(request.getOwner());
this.offerEstate(sell);
this.requireEstate(request);
this.proposeTrade();
}
}