Files
prestonbane/src/engine/net/client/handlers/ArcViewAssetTransactionsMsgHandler.java
T

64 lines
1.8 KiB
Java
Raw Normal View History

2022-04-30 09:41:17 -04:00
package engine.net.client.handlers;
import engine.exception.MsgSendException;
2024-03-17 09:47:00 -04:00
import engine.gameManager.BuildingManager;
2022-04-30 09:41:17 -04:00
import engine.gameManager.SessionManager;
import engine.mbEnums;
2022-04-30 09:41:17 -04:00
import engine.net.Dispatch;
import engine.net.DispatchMessage;
import engine.net.client.ClientConnection;
import engine.net.client.msg.ArcViewAssetTransactionsMsg;
import engine.net.client.msg.ClientNetMsg;
2024-03-17 09:47:00 -04:00
import engine.objects.Building;
import engine.objects.City;
2022-04-30 09:41:17 -04:00
import engine.objects.PlayerCharacter;
import engine.objects.Warehouse;
/*
* @Author:
* @Summary: Processes application protocol message which transfers
* gold between a building's strongbox and a player character.
*/
public class ArcViewAssetTransactionsMsgHandler extends AbstractClientMsgHandler {
public ArcViewAssetTransactionsMsgHandler() {
super(ArcViewAssetTransactionsMsg.class);
}
@Override
protected boolean _handleNetMsg(ClientNetMsg baseMsg, ClientConnection origin) throws MsgSendException {
PlayerCharacter player;
ArcViewAssetTransactionsMsg msg;
ArcViewAssetTransactionsMsg newMsg;
player = SessionManager.getPlayerCharacter(origin);
Dispatch dispatch;
if (player == null)
return true;
msg = (ArcViewAssetTransactionsMsg) baseMsg;
2024-03-17 09:47:00 -04:00
Building warehouseBuilding = BuildingManager.getBuilding(msg.getWarehouseID());
City city = warehouseBuilding.getCity();
if (city == null)
return true;
Warehouse warehouse = city.warehouse;
2022-04-30 09:41:17 -04:00
if (warehouse == null)
2023-07-15 09:23:48 -04:00
return true;
newMsg = new ArcViewAssetTransactionsMsg(warehouse, msg);
2022-04-30 09:41:17 -04:00
newMsg.configure();
dispatch = Dispatch.borrow(player, newMsg);
DispatchMessage.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.SECONDARY);
2022-04-30 09:41:17 -04:00
return true;
}
}