예제 #1
0
    public void CheckState(Adaptation startEvo, Adaptation endEvo)
    {
        Adaptation.playerBuyState startState = startEvo.GetCurrentBuyState();
        Adaptation.playerBuyState endState = endEvo.GetCurrentBuyState();

        if(startState == Adaptation.playerBuyState.UNLOCKED){
            currentState = Adaptation.playerBuyState.LOCKED;
        }

        else{
            currentState = endState;
        }

        SetColor(currentState);
    }
예제 #2
0
    private void SetEvoText(Adaptation evo)
    {
        int habScore;

        if(evo)
        {
            selectedEvo = evo;

            Adaptation.playerBuyState currentState = selectedEvo.GetCurrentBuyState();

            if (!selectedEvo.isMajor) {
                habScore = evo.CalculateHabEffect(hex, critter);
            }
            else
            {
                habScore = CalculateEquipScore(evo);
            }

            if(currentState == Adaptation.playerBuyState.ACTIVE) {
                habScore *= -1;
            }

            effectText[0].text = NormalizeText(habScore);
            effectText[0].color = ColorText(habScore);
            effectText[0].fontSize = 60;
        }
    }
예제 #3
0
    public void UpdateButtonInfo()
    {
        if(!isInitialized){
            initialize();
        }

        selectedEvo = EvoDescriptionPanel.GetSelectedEvo();

        if(selectedEvo){
            evoState = selectedEvo.GetCurrentBuyState();

            int cost = selectedEvo.cost;
            int refundCost = cost - 1;

            if(evoState == Adaptation.playerBuyState.CANEQUIP){
                button.interactable = true;

                if(selectedEvo.isMajor){
                    sprite.color = slotColor;

                    buttonText.text = "EQUIP";
                }
            }
            if(evoState == Adaptation.playerBuyState.EQUIPED){
                if(TraitsPanel.GetSelectedSlot()){
                    button.interactable = true;

                    sprite.color = slotColor;

                    buttonText.text = "EQUIP AGAIN";
                }
            }
            if(evoState == Adaptation.playerBuyState.ACTIVE){
                sprite.color = refundColor;

                if(refundCost <= 0){
                    refundCost = 0;
                }

                button.interactable = true;
                buttonText.text = "REFUND   " + refundCost + " pts";
            }
            else if(evoState == Adaptation.playerBuyState.NOREFUND){
                button.interactable = false;
                sprite.color = refundColor;

                if(refundCost <= 0){
                    refundCost = 0;
                }
                buttonText.text = "CAN'T REFUND";
            }
            else if(evoState == Adaptation.playerBuyState.UNLOCKED){
                if(selectedEvo.AffordCheck(critter)){
                    button.interactable = true;
                    buttonText.text = "BUY   " + cost + " pts";
                    sprite.color = baseColor;
                }
                else{
                    button.interactable = false;
                    buttonText.text = "BUY   " + cost + "pts (" + critter.GetEvoPts() + ")";
                }
            }
            else if(evoState == Adaptation.playerBuyState.LOCKED){
                button.interactable = false;
                buttonText.text = "LOCKED";
            }
        }
    }
예제 #4
0
    public void PopulateInfo(Adaptation evo)
    {
        if(!SimpleInfo){
            selectedEvo = evo;

            bobbleCounter.ActivateBobbles(evo.cost);
        }

        ClearEffectsPanel();

        if (evo != null){
            elements[0].text = evo.name;
            icon.sprite = evo.GetIcon();
            icon.color = new Color32(255, 255, 255, 255);

            PopulateEffects(evo);

            if (!SimpleInfo)
            {
                statPanel.SetCritterStats();

                elements[1].text = evo.description;
                UpdateBuyButton();

                statPanel.SetCritterStats();

                if (evo.isMajor)
                {
                    //evo is major and equipped.
                    if (evo.GetCurrentBuyState() == Adaptation.playerBuyState.EQUIPED)
                    {
                        VisualizeSellChanges(evo);
                    }
                    //Evo is major and is replacing an equipped evo.
                    else
                    {
                        if (TraitsPanel.GetSelectedSlot())
                        {
                            if (TraitsPanel.GetSelectedSlot().GetActiveEvo() != null)
                            {
                                Adaptation slotEvo = TraitsPanel.GetSelectedSlot().GetActiveEvo();

                                VisualizeSellChanges(slotEvo);
                                VisualizeBuyChanges(evo);
                            }
                            //no evo is equipped to an empty slot.
                            else
                            {
                                VisualizeBuyChanges(evo);
                            }
                        }
                    }
                }

                else
                {
                    //evo is minor and active.
                    if (evo.GetCurrentBuyState() == Adaptation.playerBuyState.ACTIVE)
                    {
                        VisualizeSellChanges(evo);
                    }
                    //evo is minor and not active.
                    else
                    {
                        VisualizeBuyChanges(evo);
                    }
                }
            }
        }

        else {
            gameObject.SetActive(false);
        }
    }