示例#1
0
    /* private void buildNavy()
     * {
     *   App app = UnityEngine.Object.FindObjectOfType<App>();
     *   int playerIndex = app.GetHumanIndex();
     *   Nation player = State.getNations()[playerIndex];
     *   if (player.GetTechnologies().Contains("oil_powered_ships"))
     *   {
     *       PlayerPayer.PayDreadnought(player);
     *       player.seaForces.dreadnought.addUnit();
     *   }
     *
     *   else if (player.GetTechnologies().Contains("ironclad"))
     *   {
     *       PlayerPayer.PayIronClad(player);
     *       player.seaForces.ironclad.addUnit();
     *   }
     *   else
     *   {
     *       PlayerPayer.PayFrigate(player);
     *       player.seaForces.frigate.addUnit();
     *   }
     *   uiUpdater.updateUI();
     *
     * } */

    private void getCultureCards()
    {
        selfProvince.SetActive(false);
        otherProvince.SetActive(false);
        progressPanel.SetActive(false);
        coordinator.progressFlag = false;

        App    app    = UnityEngine.Object.FindObjectOfType <App>();
        Nation player = State.getNations()[app.GetHumanIndex()];

        PlayerPayer.payForDevelopmentAction(player, 1);

        MyEnum.cultCard newCard = PlayerReceiver.collectCultureCard(player);

        uiUpdater.updateUI();

        Stack <CultureCard>   remainingCultCards = State.getCultureDeck();
        HashSet <CultureCard> cultDeckSet        = new HashSet <CultureCard>(remainingCultCards);

        List <MyEnum.cultCard> playerCultHand = new List <MyEnum.cultCard>(player.getCultureCards());
        HashSet <CultureCard>  playerCultSet  = new HashSet <CultureCard>(remainingCultCards);

        foreach (MyEnum.cultCard cardName in playerCultHand)
        {
            CultureCard card = State.getCultureCardByName(cardName);
            playerCultSet.Add(card);
        }

        updateCultureCardBook(newCard);
        showCultureHandPanel();
    }
示例#2
0
    private void getCultureCards()
    {
        App    app    = UnityEngine.Object.FindObjectOfType <App>();
        Nation player = State.getNations()[app.GetHumanIndex()];

        PlayerPayer.payForCultureCard(player);
        MyEnum.cultCard newCard = PlayerReceiver.collectCultureCard(player);


        MyEnum.Era era = State.era;
        if (player.getNumberGood(MyEnum.Goods.paper) < 1 || player.getAP() < 1)
        {
            drawCultureCards.interactable = false;
        }
        if (era != MyEnum.Era.Late && player.getNumberResource(MyEnum.Resources.spice) < 1)
        {
            drawCultureCards.interactable = false;
        }
        if (era != MyEnum.Era.Early)
        {
            if (player.getNumberGood(MyEnum.Goods.clothing) < 1)
            {
                drawCultureCards.interactable = false;
            }
        }
        if (era == MyEnum.Era.Late && player.getNumberGood(MyEnum.Goods.telephone) < 1)
        {
            drawCultureCards.interactable = false;
        }
        Stack <CultureCard>   remainingCultCards = State.getCultureDeck();
        HashSet <CultureCard> cultDeckSet        = new HashSet <CultureCard>(remainingCultCards);

        List <MyEnum.cultCard> playerCultHand = new List <MyEnum.cultCard>(player.getCultureCards());
        HashSet <CultureCard>  playerCultSet  = new HashSet <CultureCard>(remainingCultCards);

        foreach (MyEnum.cultCard cardName in playerCultHand)
        {
            CultureCard card = State.getCultureCardByName(cardName);
            playerCultSet.Add(card);
        }


        if (cultDeckSet.IsSubsetOf(playerCultSet))
        {
            drawCultureCards.interactable = false;
        }
        AP.text = player.getAP().ToString();
        // numberCultureCards.text = player.getCultureCards().Count.ToString();
        cultureLevel.text = player.getCulureLevel().ToString();
        updateCultureCardBook(newCard);
        showCultureHandPanel();
    }