Example #1
0
    //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
    }