public void SetUp()
    {

        priest = new FavourBonus(new SingleIncome(0, 0, 1, 0, 0), 9, null);
        magic = new FavourBonus(new SingleIncome(0, 0, 0, 8, 0), 6, null); ;
        gold = new FavourBonus(new SingleIncome(6, 0, 1, 0, 0), 5, null); ;
        worker = new FavourBonus(new SingleIncome(0, 2, 1, 0, 0), 7, null);
        cult = new FavourBonus(new SingleIncome(0, 0, 0, 0, 0), 8, new CultIncome(1, 1, 1, 1)); ;
    }
    public void TakeFavourTile(int tracktier)
    {
        if (!favourTileAvailable)
        {
            return;
        }

        int[] temp = CultController.ParseInt(tracktier); //Parse e.g. 12 into track 1 tier 2
        int   track = temp[0] - 1; int tier = temp[1];

        FavourBonus wt = wonderController.GetWonderTile(track, tier);

        if (track == 0 && tier == 1) //If its fire 2 or W2 then it requires special treatment
        {
            localPlayer.PointsForTown = 6;
            localPlayer.EndTurn();
        }
        else if (track == 1 && tier == 1)
        {
            am.AddAbility <AbilityAddToCult>();
            localPlayer.EndTurn();
        }
        else if (wt != null)
        {
            //Increase players income and points
            localPlayer.AddToNonBuildingIncome(wt.GetIncome().IncomeAsArray());
            if (wt.GetPointBonus() != null)
            {
                localPlayer.AddPointBonus(wt.GetPointBonus(), false);
            }

            //Increase players cult standing. Tell the track to increase too
            AddCultIncome(wt.Get_CultIncome());

            networkedUI.PanelInteractivityEnDisable(networkedUI.favourButtons, false);
            networkedUI.DisEnableFavourTiles();

            localPlayer.EndTurn();
        }

        //If no options are picked for whatever reason return, otherwise send the data to the server and disallow further picking of favours
        else
        {
            return;
        }

        localPlayer.localPlayerObject.GetComponent <TakenTurnData>().SendPickedFavourData(track, tier);
        favourTileAvailable = false;
    }
    public void TakeTownTile(int type)
    {
        FavourBonus tc = townFoundManager.Get_TownTile((TownFoundingBonusManager.TownTiletype)type); //TOWN FOUNDING TILES USE FavourBonus's class as a base

        if (tc != null)
        {
            //Increase players income and points
            localPlayer.AddSingleIncome(tc.GetIncome());
            localPlayer.AddSinglePointValue(tc.Points);

            //Increase players cult standing. Tell the track to increase too
            AddCultIncome(tc.Get_CultIncome());

            //turn off buying ability
            networkedUI.PanelInteractivityEnDisable(networkedUI.townButtons, false);

            //Send turn data to server and end turn
            localPlayer.localPlayerObject.GetComponent <TakenTurnData>().SendCityFoundingData((TownFoundingBonusManager.TownTiletype)type);
            localPlayer.EndTurn();
        }
    }