public class MaritimeTradeController extends Controller implements IMaritimeTradeController, ModelObserver
Modifier and Type | Class and Description |
---|---|
private static class |
MaritimeTradeController.ResourcePositions |
Modifier and Type | Field and Description |
---|---|
private ResourceType |
getResource |
private ResourceType |
giveResource |
private java.util.ArrayList<ResourceType> |
resourcesPlayerCanGet |
private java.util.ArrayList<ResourceType> |
resourcesPlayerCanGive |
private IMaritimeTradeOverlay |
tradeOverlay |
private int[] |
tradeRates |
Constructor and Description |
---|
MaritimeTradeController(IMaritimeTradeView tradeView,
IMaritimeTradeOverlay tradeOverlay) |
Modifier and Type | Method and Description |
---|---|
void |
alert()
Notifies an object that something has happened
|
void |
cancelTrade()
Called by the maritime trade overlay when the user cancels a trade.
|
private int |
getResourceTradeRate(ResourceType type) |
IMaritimeTradeOverlay |
getTradeOverlay() |
IMaritimeTradeView |
getTradeView() |
void |
makeTrade()
Make the specified trade with the bank.
|
void |
setGetResource(ResourceType resource)
Called when the user selects the resource to get.
|
void |
setGiveResource(ResourceType resource)
Called when the user selects the resource to give.
|
void |
setTradeOverlay(IMaritimeTradeOverlay tradeOverlay) |
void |
startTrade()
Called by the maritime trade view when the user clicks the maritime trade
button.
|
void |
unsetGetValue()
Called when the player "undoes" their get selection.
|
void |
unsetGiveValue()
Called when the player "undoes" their give selection.
|
private void |
updateResourcesPlayerCanGet() |
private void |
updateResourcesPlayerCanGive()
Checks to make sure the player has enough to trade of each type of resource at the corresponding
trade rate for that resource.
|
private void |
updateTradeRates()
Checks a player's ports and changes trade rates accordingly
|
getView
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getView
private IMaritimeTradeOverlay tradeOverlay
private ResourceType giveResource
private ResourceType getResource
private int[] tradeRates
private java.util.ArrayList<ResourceType> resourcesPlayerCanGive
private java.util.ArrayList<ResourceType> resourcesPlayerCanGet
public MaritimeTradeController(IMaritimeTradeView tradeView, IMaritimeTradeOverlay tradeOverlay)
public IMaritimeTradeView getTradeView()
public IMaritimeTradeOverlay getTradeOverlay()
public void setTradeOverlay(IMaritimeTradeOverlay tradeOverlay)
public void alert()
ModelObserver
alert
in interface ModelObserver
public void startTrade()
IMaritimeTradeController
startTrade
in interface IMaritimeTradeController
public void makeTrade()
IMaritimeTradeController
makeTrade
in interface IMaritimeTradeController
public void cancelTrade()
IMaritimeTradeController
cancelTrade
in interface IMaritimeTradeController
public void setGiveResource(ResourceType resource)
IMaritimeTradeController
setGiveResource
in interface IMaritimeTradeController
resource
- The selected "give" resourcepublic void setGetResource(ResourceType resource)
IMaritimeTradeController
setGetResource
in interface IMaritimeTradeController
resource
- The selected "get" resourcepublic void unsetGiveValue()
IMaritimeTradeController
unsetGiveValue
in interface IMaritimeTradeController
public void unsetGetValue()
IMaritimeTradeController
unsetGetValue
in interface IMaritimeTradeController
private void updateTradeRates()
private void updateResourcesPlayerCanGive()
private void updateResourcesPlayerCanGet()
private int getResourceTradeRate(ResourceType type)