/** * Method that repaces a CBMUnit. Called after a player bids on a unit in order to change colors * and show amount. */ public void changeBMUnit(String command) { CBMUnit bmUnit = new CBMUnit( command, this, Boolean.parseBoolean(mwclient.getserverConfigs("HiddenBMUnits"))); BlackMarket.remove(bmUnit.getAuctionID()); BlackMarket.put(bmUnit.getAuctionID(), bmUnit); }
/** * Method that reads data generated by Market2.getAutoMarketStatus() on the server. All data for * all BM units sent at once. "|" used to seperate units, * used to seperate fields inside each * unit. */ public void setBMData(String command) { // create tokenizer StringTokenizer mainTokenizer = new StringTokenizer(command, "$"); // clear all current BM data BlackMarket.clear(); while (mainTokenizer.hasMoreTokens()) { boolean hidden = Boolean.parseBoolean(mwclient.getserverConfigs("HiddenBMUnits")); CBMUnit currBMUnit = new CBMUnit(TokenReader.readString(mainTokenizer), this, hidden); BlackMarket.put(currBMUnit.getAuctionID(), currBMUnit); } }
public boolean decodeCommand(String command) { StringTokenizer ST; String element; ST = new StringTokenizer(command, "|"); element = TokenReader.readString(ST); /* if (!element.equals("CC")) {return(false);} element = TokenReader.readString(ST);*/ command = command.substring(3); if (element.equals("PS")) { if (!Player.setData(command)) { mwclient.addToChat("Player data load failed!<br>"); return (false); } return (true); } if (element.equals("CC")) // Campaign Command { String commandid = TokenReader.readString(ST); if (commandid.equals("AT")) { // incoming attack if (mwclient.getConfig().isParam("ENABLEATTACKSOUND")) { mwclient.doPlaySound(mwclient.getConfigParam("SOUNDONATTACK")); } mwclient.addToChat( "<font color=\"red\"><b>Your forces are under attack!</b></font>", CCommPanel.CHANNEL_HMAIL); mwclient.addToChat( "<font color=\"red\"><b>Your forces are under attack!</b></font>", CCommPanel.CHANNEL_PMAIL, "Server"); if (mwclient.getConfig().isParam("POPUPONATTACK")) { int opID = TokenReader.readInt(ST); int teams = TokenReader.readInt(ST); // mwclient.showInfoWindow("Your forces are under attack!"); new ArmyViewerDialog( mwclient, null, ST, ArmyViewerDialog.AVD_DEFEND, null, null, opID, teams); } } if (commandid.equals("NT")) { // next tick int time = TokenReader.readInt(ST); boolean decrement = TokenReader.readBoolean(ST); mwclient.processTick(time); /* * Decrements tick counters for units without explicit auction * length being sent from the server to save a bit of bandwidth. */ if (decrement) { for (CBMUnit currUnit : BlackMarket.values()) { currUnit.decrementSalesTicks(); } mwclient.refreshGUI(MWClient.REFRESH_BMPANEL); } } return (true); } if (element.equals("CA")) { if (!setData(command)) { mwclient.addToChat("<b>Error: Campaign data load failed.</b><br>"); return (false); } return (true); } if (element.equals("PL")) { if (!Player.decodeCommand(command)) { mwclient.addToChat("<b>Error: Player data load failed.</b><br>"); return (false); } return (true); } if (element.equals("MS")) { if (!showMsg(command)) { mwclient.addToChat("<b>Error: Message show failed.</b><br>"); return (false); } return (true); } if (element.equals("ST")) { if (!showStatus(command)) { mwclient.addToChat("<b>Error: Status show failed.</b><br>"); return (false); } return (true); } mwclient.addToChat("<b>Error: Wrong campaign command from server.</b><br>"); return (false); }