Exemple #1
0
    public void CheckCurrentBuyState(Critter critter)
    {
        if(critter.GetIsPlayer()){
            if(critter){
                if (critter.activeEvos.Contains(this)){
                    if (isMajor)
                    {
                        if (critter.equipedEvos.Contains(this))
                        {
                            if (critter.lockedEvos.Contains(this))
                            {
                                currentBuyState = playerBuyState.LOCKED;
                            }
                            else
                            {
                                currentBuyState = playerBuyState.EQUIPED;
                            }
                        }
                        else
                        {
                            if (critter.lockedEvos.Contains(this))
                            {
                                currentBuyState = playerBuyState.LOCKED;
                            }
                            else if (Prerequisites1.Count > 0)
                            {
                                foreach (Adaptation item in Prerequisites1)
                                {
                                    if (critter.activeEvos.Contains(item))
                                    {
                                        currentBuyState = playerBuyState.CANEQUIP;
                                    }
                                    else
                                    {
                                        currentBuyState = playerBuyState.NOREFUND;
                                        break;
                                    }
                                }
                            }
                            else if (currentBuyState == playerBuyState.NOREFUND)
                            {
                                foreach (Adaptation item in Prerequisites2)
                                {
                                    if (critter.activeEvos.Contains(item))
                                    {
                                        currentBuyState = playerBuyState.CANEQUIP;
                                    }
                                    else
                                    {
                                        currentBuyState = playerBuyState.NOREFUND;
                                    }
                                }
                            }
                            else
                            {
                                currentBuyState = playerBuyState.CANEQUIP;
                            }
                        }
                    }

                    else if (hasUnlocks){
                        foreach(Adaptation item in Unlocks){
                            if(critter.activeEvos.Contains(item)){
                                if (item.GetCurrentBuyState() == playerBuyState.EQUIPED)
                                {
                                    currentBuyState = playerBuyState.NOREFUND;
                                    break;
                                }
                                else if (item.GetCurrentBuyState() == playerBuyState.ACTIVE)
                                {
                                    currentBuyState = playerBuyState.NOREFUND;
                                    break;
                                }
                                else
                                {
                                    currentBuyState = playerBuyState.ACTIVE;
                                }
                            }
                            else{
                                currentBuyState = playerBuyState.ACTIVE;
                            }
                        }
                    }

                    else{
                        if(!hasUnlocks){
                            currentBuyState = playerBuyState.ACTIVE;
                        }
                    }
                }

                else if(critter.unlockedEvos.Contains(this)){
                    foreach (Adaptation item in critter.activeEvos)
                    {
                        if (!item.isMajor)
                        {
                            if (item.Conflicts.Contains(this))
                            {
                                currentBuyState = playerBuyState.LOCKED;
                                break;
                            }
                            else
                            {
                                currentBuyState = playerBuyState.UNLOCKED;
                            }
                        }
                        else
                        {
                            currentBuyState = playerBuyState.UNLOCKED;
                        }
                    }
                    foreach (Adaptation item in critter.equipedEvos)
                    {
                        if (item.Conflicts.Contains(this))
                        {
                            currentBuyState = playerBuyState.LOCKED;
                            break;
                        }
                        else
                        {
                            currentBuyState = playerBuyState.UNLOCKED;
                        }
                    }
                }
                else{
                    currentBuyState = playerBuyState.LOCKED;
                }
            }
        }
    }
Exemple #2
0
 public void SetCurrentBuyState(playerBuyState newState)
 {
     currentBuyState = newState;
 }