//call this from player accepting the trade public void acceptTrade(Trades trade) { Player offered = trade.getPlayerOffering(); for (int i = 0; i < trade.getResourcesOffered().Count; i++) { offered.changeResource((Enums.ResourceType)i, -trade.getResourcesOffered()[i]); offered.changeResource((Enums.ResourceType)i, trade.getResourcesWanted()[i]); this.changeResource((Enums.ResourceType)i, trade.getResourcesOffered()[i]); this.changeResource((Enums.ResourceType)i, -trade.getResourcesWanted()[i]); } for (int i = 0; i < trade.getCommoditiesOffered().Count; i++) { offered.changeCommodity((Enums.CommodityType)i, -trade.getCommoditiesOffered()[i]); offered.changeCommodity((Enums.CommodityType)i, trade.getCommoditiesWanted()[i]); this.changeCommodity((Enums.CommodityType)i, trade.getCommoditiesOffered()[i]); this.changeCommodity((Enums.CommodityType)i, -trade.getCommoditiesWanted()[i]); } offered.changeGoldCount(trade.getGoldWanted() - trade.getGoldOffered()); this.changeGoldCount(trade.getGoldOffered() - trade.getGoldWanted()); trade.CmdDestroy(trade.netId);//destroy the trade }