Exemplo n.º 1
0
    public static bool canGetCulture(Nation player)
    {
        bool able = true;

        MyEnum.Era era = State.era;
        if (player.getNumberGood(MyEnum.Goods.paper) < 1 || player.getAP() < 1)
        {
            able = false;
        }
        if (era != MyEnum.Era.Late && player.getNumberResource(MyEnum.Resources.spice) < 1)
        {
            able = false;
        }
        if (era != MyEnum.Era.Early)
        {
            if (player.getNumberGood(MyEnum.Goods.clothing) < 1)
            {
                able = false;
            }
        }
        if (era == MyEnum.Era.Late && player.getNumberGood(MyEnum.Goods.telephone) < 1)
        {
            able = false;
        }
        return(able);
    }
Exemplo n.º 2
0
    private void getTacticCards()
    {
        Debug.Log("press tactic cards");
        App    app    = UnityEngine.Object.FindObjectOfType <App>();
        Nation player = State.getNations()[app.GetHumanIndex()];

        //....................

        PlayerPayer.payTacticCards(player);
        PlayerReceiver.collectTacticCards(player);

        drawTacticCards.interactable = true;

        MyEnum.Era era = State.era;
        if (player.getNumberGood(MyEnum.Goods.arms) < 1 || player.getAP() < 1 ||
            player.getNumberResource(MyEnum.Resources.spice) < 1)
        {
            drawTacticCards.interactable = false;
        }
        if (era != MyEnum.Era.Early)
        {
            if (player.getNumberGood(MyEnum.Goods.furniture) < 1)
            {
                drawTacticCards.interactable = false;
            }
        }
        if (era == MyEnum.Era.Late && player.getNumberGood(MyEnum.Goods.auto) < 1)
        {
            drawTacticCards.interactable = false;
        }
        showTacticsHandPanel();
        AP.text = player.getAP().ToString();
    }
Exemplo n.º 3
0
    // (1) Update cost of getting PP
    // (2) Update unit appearance   --------------------
    // (3) Update Music List
    // (4) Update Culture Card Deck

    public void swichEra()
    {
        State.NextEra();
        MyEnum.Era era = State.GerEra();


        foreach (Nation nation in State.getNations().Values)
        {
            AI       ai       = nation.getAI();
            TopLevel topLevel = ai.getTopLevel();
            topLevel.updateResourcesToKeepNewEra();
            topLevel.updateGoodsToKeepNewEra();
        }


        if (era == MyEnum.Era.Late)
        {
            earlyPP_Cost.SetActive(false);
            latePP_Cost.SetActive(true);
        }

        App   app   = UnityEngine.Object.FindObjectOfType <App>();
        Music music = app.GetComponent <Music>();

        music.goToNextEra(era);
        if (music.musicOn)
        {
            music.PlayMusic();
        }

        //State.getCultureDeck();
    }
Exemplo n.º 4
0
    private void updatePanel()
    {
        App    app      = UnityEngine.Object.FindObjectOfType <App>();
        Nation player   = State.getNations()[app.GetHumanIndex()];
        string numCards = player.getTacticCards().Count.ToString();

        numberTacticCards.text = numCards;
        armyLevel.text         = player.getArmyLevel().ToString();

        drawTacticCards.interactable = true;
        MyEnum.Era era = State.era;
        if (player.getNumberGood(MyEnum.Goods.arms) < 1 || player.getAP() < 1 ||
            player.getNumberResource(MyEnum.Resources.spice) < 1)
        {
            drawTacticCards.interactable = false;
        }
        if (era != MyEnum.Era.Early)
        {
            if (player.getNumberGood(MyEnum.Goods.furniture) < 1)
            {
                drawTacticCards.interactable = false;
            }
        }
        if (era == MyEnum.Era.Late && player.getNumberGood(MyEnum.Goods.auto) < 1)
        {
            drawTacticCards.interactable = false;
        }
    }
Exemplo n.º 5
0
    private void updatePanel()
    {
        App    app    = UnityEngine.Object.FindObjectOfType <App>();
        Nation player = State.getNations()[app.GetHumanIndex()];

        currentIP.text = player.getIP().ToString();
        IPLevel.text   = player.getInvestmentLevel().ToString();

        increaseIP.interactable = true;
        if (player.getNumberResource(MyEnum.Resources.spice) < 1 || player.getAP() < 1 ||
            player.getNumberGood(MyEnum.Goods.furniture) < 1)
        {
            increaseIP.interactable = false;
        }
        MyEnum.Era era = State.era;
        if (era == MyEnum.Era.Middle && player.getNumberGood(MyEnum.Goods.paper) < 1)
        {
            increaseIP.interactable = false;
        }
        if (era == MyEnum.Era.Late && (player.getNumberGood(MyEnum.Goods.telephone) < 1 ||
                                       player.getNumberGood(MyEnum.Goods.auto) < 1))
        {
            increaseIP.interactable = false;
        }
    }
Exemplo n.º 6
0
    private void updatePanel(Nation player)
    {
        currentCorruption.text = player.GetCorruption().ToString();
        unemployed.text        = player.getUnemployed().ToString();
        MyEnum.Era era = State.era;
        increasePOP.interactable = true;
        if (player.getNumberResource(MyEnum.Resources.wheat) < 1 ||
            player.getNumberGood(MyEnum.Goods.clothing) < 1 || player.getAP() < 1)
        {
            increasePOP.interactable = false;
        }
        else
        {
            increasePOP.interactable = true;
        }

        decreaseCorruption.interactable = false;
        if (player.getNumberResource(MyEnum.Resources.spice) < 1 || player.getAP() < 1 ||
            player.getNumberGood(MyEnum.Goods.paper) < 1)
        {
            decreaseCorruption.interactable = false;
        }
        else
        {
            decreaseCorruption.interactable = true;
        }
    }
Exemplo n.º 7
0
    private void RecruitColonists()
    {
        App    app    = UnityEngine.Object.FindObjectOfType <App>();
        Nation player = State.getNations()[app.GetHumanIndex()];

        PlayerPayer.payForColonialists(player);

        if (player.getNumberGood(MyEnum.Goods.clothing) < 1 || player.getAP() < 1 ||
            player.getNumberGood(MyEnum.Goods.furniture) < 1)
        {
            recruitColonists.interactable = false;
        }
        MyEnum.Era era = State.era;
        if (era != MyEnum.Era.Early && player.getNumberGood(MyEnum.Goods.paper) < 1)
        {
            recruitColonists.interactable = false;
        }
        if (era == MyEnum.Era.Late && player.getNumberResource(MyEnum.Resources.spice) < 1)
        {
            recruitColonists.interactable = false;
        }
        currentColonialPoints.text = player.ColonialPoints.ToString();
        string numCol = player.getColonies().Count.ToString();

        currentNumberColonies.text = numCol;
        colonialLevel.text         = player.getColonialLevel().ToString();
        AP.text = player.getAP().ToString();
    }
Exemplo n.º 8
0
    private void IncreaseIP()
    {
        App    app    = UnityEngine.Object.FindObjectOfType <App>();
        Nation player = State.getNations()[app.GetHumanIndex()];

        PlayerPayer.payForIP(player);
        Debug.Log("Increasing AP");
        if (player.getNumberResource(MyEnum.Resources.spice) < 1 || player.getAP() < 1 ||
            player.getNumberGood(MyEnum.Goods.furniture) < 1)
        {
            encourageCapitalists.interactable = false;
        }
        MyEnum.Era era = State.era;
        if (era == MyEnum.Era.Middle && player.getNumberGood(MyEnum.Goods.paper) < 1)
        {
            encourageCapitalists.interactable = false;
        }
        if (era == MyEnum.Era.Late && (player.getNumberGood(MyEnum.Goods.telephone) < 1 ||
                                       player.getNumberGood(MyEnum.Goods.auto) < 1))
        {
            encourageCapitalists.interactable = false;
        }
        PlayerReceiver.receiveIP(player);
        currentIP.text = player.getIP().ToString();
        capLevel.text  = player.getInvestmentLevel().ToString();
        AP.text        = player.getAP().ToString();
    }
Exemplo n.º 9
0
    public static void collectTacticCards(Nation player)
    {
        player.increaseArmyLevel();
        if (player.getArmyLevel() < 3)
        {
            player.setMaximumTacticHandSize(6);
        }
        if (player.getArmyLevel() == 3)
        {
            player.setMaximumTacticHandSize(7);
        }
        if (player.getArmyLevel() == 5)
        {
            player.setMaximumTacticHandSize(8);
        }
        if (player.getArmyLevel() == 7)
        {
            player.setMaximumTacticHandSize(9);
        }
        if (player.getArmyLevel() == 9)
        {
            player.setMaximumTacticHandSize(10);
        }
        if (player.getArmyLevel() == 11)
        {
            player.setMaximumTacticHandSize(11);
        }
        if (player.getArmyLevel() == 13)
        {
            player.setMaximumTacticHandSize(12);
        }
        Debug.Log("Max number of card is now: " + player.getMaximumTacticHandSize());

        MyEnum.Era era         = State.era;
        int        numNewCards = 2;

        if (era == MyEnum.Era.Middle)
        {
            numNewCards = 3;
        }
        if (era == MyEnum.Era.Late)
        {
            numNewCards = 4;
        }
        int count = 0;
        Stack <TacticCard> deck = State.getTacticDeck();

        while (player.getTacticCards().Count <= player.getMaximumTacticHandSize() && count < numNewCards)
        {
            TacticCard newCard = deck.Pop();
            player.addTacticCard(newCard);
            Debug.Log("New Card is: " + newCard.type.ToString());
            count += 1;
        }
    }
Exemplo n.º 10
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();
    }
Exemplo n.º 11
0
 public static void receiveIP(Nation player)
 {
     player.addIP(2);
     MyEnum.Era era = State.GerEra();
     if (era == MyEnum.Era.Middle)
     {
         player.addIP(2);
     }
     if (era == MyEnum.Era.Late)
     {
         player.addIP(2);
     }
     player.increaseInvestmentLevel();
 }
Exemplo n.º 12
0
 public static void NextEra()
 {
     if (era == MyEnum.Era.Early)
     {
         era = MyEnum.Era.Middle;
     }
     else if (era == MyEnum.Era.Middle)
     {
         era = MyEnum.Era.Late;
     }
     else if (era == MyEnum.Era.Late)
     {
         Debug.Log("Already LATE ERA!!");
     }
 }
Exemplo n.º 13
0
 public static void PayForResearch(Nation player)
 {
     MyEnum.Era era = State.era;
     player.consumeGoods(MyEnum.Goods.paper, 1);
     player.consumeGoods(MyEnum.Goods.parts, 1);
     player.UseAP(1);
     if (era != MyEnum.Era.Early)
     {
         player.consumeGoods(MyEnum.Goods.chemicals, 1);
     }
     if (era == MyEnum.Era.Late)
     {
         player.consumeGoods(MyEnum.Goods.telephone, 1);
     }
 }
Exemplo n.º 14
0
 public static void CollectResearchPoints(Nation player)
 {
     MyEnum.Era era = State.era;
     if (era == MyEnum.Era.Early)
     {
         player.AddResearchPoints(2);
     }
     if (era == MyEnum.Era.Middle)
     {
         player.AddResearchPoints(4);
     }
     if (era == MyEnum.Era.Late)
     {
         player.AddResearchPoints(6);
     }
 }
Exemplo n.º 15
0
    public CultureCard(MyEnum.cultCard cardName, MyEnum.cultCardType cultureType, MyEnum.cultMovement movement,
                       MyEnum.Era era, int prestigeBoost, int moraleBoost, int clothingQuality, int furnQuality, int happinessBoost)

    {
        this.cardName        = cardName;
        this.cultureType     = cultureType;
        this.movement        = movement;
        this.era             = era;
        this.prestigeBoost   = prestigeBoost;
        this.moraleBoost     = moraleBoost;
        this.clothingQuality = clothingQuality;
        this.furnQuality     = furnQuality;
        this.happinessBoost  = happinessBoost;
        this.originator      = -1;
        this.written         = cardName.ToString();
    }
Exemplo n.º 16
0
 public static void payTacticCards(Nation player)
 {
     player.UseAP(1);
     player.consumeResource(MyEnum.Resources.spice, 1);
     player.consumeGoods(MyEnum.Goods.arms, 1);
     MyEnum.Era era = State.GerEra();
     if (era != MyEnum.Era.Early)
     {
         player.consumeGoods(MyEnum.Goods.furniture, 1);
     }
     if (era == MyEnum.Era.Late)
     {
         player.consumeGoods(MyEnum.Goods.auto, 1);
         player.increaseOilNeeded();
     }
 }
Exemplo n.º 17
0
 public static void payForIP(Nation player)
 {
     player.UseAP(1);
     player.consumeResource(MyEnum.Resources.spice, 1);
     player.consumeGoods(MyEnum.Goods.furniture, 1);
     MyEnum.Era era = State.GerEra();
     if (era == MyEnum.Era.Middle)
     {
         player.consumeGoods(MyEnum.Goods.paper, 1);
     }
     if (era == MyEnum.Era.Late)
     {
         player.consumeGoods(MyEnum.Goods.telephone, 1);
         player.consumeGoods(MyEnum.Goods.auto, 1);
         player.increaseOilNeeded();
     }
 }
Exemplo n.º 18
0
 public static void payForColonialists(Nation player)
 {
     MyEnum.Era era = State.GerEra();
     player.consumeGoods(MyEnum.Goods.clothing, 1);
     player.consumeGoods(MyEnum.Goods.furniture, 1);
     player.AddColonialPoints(2);
     player.increaseColonialLevel();
     player.UseAP(1);
     if (era != MyEnum.Era.Early)
     {
         player.consumeGoods(MyEnum.Goods.paper, 1);
         player.AddColonialPoints(2);
     }
     if (era == MyEnum.Era.Late)
     {
         player.consumeResource(MyEnum.Resources.spice, 1);
         player.AddColonialPoints(2);
     }
 }
    public static bool checkIfAbleToAddColonists(Nation player)
    {
        bool able = true;

        if (player.getNumberGood(MyEnum.Goods.clothing) < 1 || player.getAP() < 1 ||
            player.getNumberGood(MyEnum.Goods.furniture) < 1)
        {
            able = false;
        }
        MyEnum.Era era = State.era;
        if (era != MyEnum.Era.Early && player.getNumberGood(MyEnum.Goods.paper) < 1)
        {
            able = false;
        }
        if (era == MyEnum.Era.Late && player.getNumberResource(MyEnum.Resources.spice) < 1)
        {
            able = false;
        }
        return(able);
    }
Exemplo n.º 20
0
    public static bool canDoResearch(Nation player)
    {
        bool able = true;

        if (player.getAP() < 1 || player.getNumberGood(MyEnum.Goods.paper) < 1 ||
            player.getNumberGood(MyEnum.Goods.parts) < 1)
        {
            able = false;
        }
        MyEnum.Era era = State.era;
        if (era != MyEnum.Era.Early && player.getNumberGood(MyEnum.Goods.chemicals) < 1)
        {
            able = false;
        }
        if (era == MyEnum.Era.Late && player.getNumberGood(MyEnum.Goods.gear) < 1)
        {
            able = false;
        }
        return(able);
    }
Exemplo n.º 21
0
    public static bool canInvest(Nation player)
    {
        bool able = true;

        if (player.getNumberResource(MyEnum.Resources.spice) < 1 || player.getAP() < 1 ||
            player.getNumberGood(MyEnum.Goods.furniture) < 1)
        {
            able = false;
        }
        MyEnum.Era era = State.era;
        if (era == MyEnum.Era.Middle && player.getNumberGood(MyEnum.Goods.paper) < 1)
        {
            able = false;
        }
        if (era == MyEnum.Era.Late && (player.getNumberGood(MyEnum.Goods.telephone) < 1 ||
                                       player.getNumberGood(MyEnum.Goods.auto) < 1))
        {
            able = false;
        }
        return(able);
    }
Exemplo n.º 22
0
    public static void payForCultureCard(Nation player)
    {
        player.UseAP(1);
        MyEnum.Era era = State.GerEra();
        player.consumeGoods(MyEnum.Goods.paper, 1);
        if (era != MyEnum.Era.Early)
        {
            player.consumeGoods(MyEnum.Goods.clothing, 1);
        }


        if (era != MyEnum.Era.Late)
        {
            player.consumeResource(MyEnum.Resources.spice, 1);
        }
        if (era == MyEnum.Era.Late)
        {
            player.consumeGoods(MyEnum.Goods.furniture, 1);
            player.consumeGoods(MyEnum.Goods.telephone, 1);
        }
    }
Exemplo n.º 23
0
    public GameObject ChooseUnitPrefab(Nation player)
    {
        MyEnum.Era era          = State.era;
        List <int> majorIndexes = State.getMajorNations();
        int        playerIndex  = player.getIndex();

        if (era == MyEnum.Era.Early)
        {
            if (majorIndexes[0] == playerIndex)
            {
                return(ZeroOne);
            }
            else if (majorIndexes[1] == playerIndex)
            {
                return(OneOne);
            }
            else if (majorIndexes[2] == playerIndex)
            {
                return(TwoOne);
            }
            else if (majorIndexes[3] == playerIndex)
            {
                return(ThreeOne);
            }
            else if (majorIndexes[4] == playerIndex)
            {
                return(FourOne);
            }
            else
            {
                return(FiveOne);
            }
        }
        else if (era == MyEnum.Era.Middle)
        {
            if (majorIndexes[0] == playerIndex)
            {
                return(ZeroTwo);
            }
            else if (majorIndexes[1] == playerIndex)
            {
                return(OneTwo);
            }
            else if (majorIndexes[2] == playerIndex)
            {
                return(TwoTwo);
            }
            else if (majorIndexes[3] == playerIndex)
            {
                return(ThreeTwo);
            }
            else if (majorIndexes[4] == playerIndex)
            {
                return(FourTwo);
            }
            else
            {
                return(FiveTwo);
            }
        }
        else if (era == MyEnum.Era.Late)
        {
            if (majorIndexes[0] == playerIndex)
            {
                return(ZeroThree);
            }
            else if (majorIndexes[1] == playerIndex)
            {
                return(OneThree);
            }
            else if (majorIndexes[2] == playerIndex)
            {
                return(TwoThree);
            }
            else if (majorIndexes[3] == playerIndex)
            {
                return(ThreeThree);
            }
            else if (majorIndexes[4] == playerIndex)
            {
                return(FourThree);
            }
            else
            {
                return(FiveThree);
            }
        }
        else
        {
            return(ZeroOne);
        }
    }
Exemplo n.º 24
0
 public static void SetEra(MyEnum.Era _era)
 {
     era = _era;
 }