protected virtual void Awake()
    {
        images   = GetComponentsInChildren <Image> ();
        rankText = GetComponentInChildren <Text> ();
        button.onClick.AddListener(delegate { Upgrade(); });
        SpecializationButton sb = this as SpecializationButton;

        species = GameManager.HumanPlayer.species;
        if (sb == null || Era == Eras.StoneAge)
        {
            switch (GameManager.HumanPlayer.species)
            {
            case Species.Bunnies:
                mainArrayIndex = 0;
                break;

            case Species.Deer:
                mainArrayIndex = 1;
                break;

            case Species.Sheep:
                mainArrayIndex = 2;
                break;
            }
        }
        resSprite.sprite    = HUD.speciesResourceSpriteDick [species] [ResourceType.Unique];
        cost                = 100f * GameManager.eraOrderDick [Era];
        button.interactable = false;
    }
Beispiel #2
0
 public void ChangeEvoProgress(Player player, float amount)
 {
     // if the player enters a new era
     if (playerEvoProgressDick[player] + amount / eraTimeStatsDick[player.Era][0] >= eraTimeStatsDick[player.Era][1])
     {
         float excessRes = (playerEvoProgressDick[player] + amount / eraTimeStatsDick[player.Era][0] - eraTimeStatsDick[player.Era][1]) * eraTimeStatsDick[player.Era][0];
         float newAmount = amount - excessRes;
         playerEvoProgressDick [player] += newAmount / eraTimeStatsDick[player.Era][0];
         Eras nextEra = GameManager.orderEraDick[GameManager.eraOrderDick[player.Era] + 1];
         playerEvoProgressDick [player] += excessRes / eraTimeStatsDick[nextEra][0];
     }
     else
     {
         playerEvoProgressDick [player] += amount / eraTimeStatsDick[player.Era][0];
     }
     if (player == GameManager.HumanPlayer && playerEvoProgressDick[player] < player.GetMaxTotalUnique())
     {
         evoProgressBar.rectTransform.anchorMax = new Vector2(playerEvoProgressDick[player], evoProgressBar.rectTransform.anchorMax.y);
         for (int i = nextUnlockableEPB; i < evoPanButts.Length; i++)
         {
             SpecializationButton sp = evoPanButts[i] as SpecializationButton;
             if (evoPanButts[i].position <= playerEvoProgressDick[player] && (sp == null || !sp.disabled && (sp.Era == Eras.StoneAge || sp.initiated)))
             {
                 evoPanButts[i].button.interactable = true;
             }
             else if (evoPanButts[i].position > playerEvoProgressDick[player])
             {
                 nextUnlockableEPB = i;
                 break;
             }
         }
     }
     // if New Era
     if (playerEvoProgressDick[player] >= eraTimeStatsDick[player.Era][1] && player.Era != Eras.Information)
     {
         player.NewEra();
         if (player == GameManager.HumanPlayer)
         {
             GameManager.Hud.EraText.text = player.Era.ToString();
             BuildMenu.NextEra(player.Era);
             LocalUpgradesMenu.NewEra();
             if (gameObject.activeSelf)
             {
                 StartCoroutine(newEraAnnouncement.NewEraBitches(player.Era));
             }
             else
             {
                 openNewEraOnNextEnable = true;
                 GameManager.Hud.StartFlashButton(evolutionButton.image, new BoolMethod(delegate { return(openNewEraOnNextEnable); }));
             }
         }
     }
 }
    protected virtual void Start()
    {
        SpecializationButton sb = this as SpecializationButton;

        resText.text = (int)(cost) + "";
        if (sb == null || Era == Eras.StoneAge)
        {
            if (Era != Eras.Industrial)
            {
                images[1].sprite = GameManager.evoPanel.GetEvoPanButtSprite(namesArray[mainArrayIndex]);
            }
        }
    }