Beispiel #1
0
    public List <VegetableClass> GetAvailableVegetables()
    {
        List <VegetableClass> result = new List <VegetableClass>();

        foreach (var vegetable in ProgressManagerComponent.GetVegetablesOnLevel(CurrentLevelNumber))
        {
            if (vegetable != null)
            {
                result.Add(vegetable.Clone());
            }
        }
        return(result);
    }
Beispiel #2
0
    void Start()
    {
        pullObjects = GetComponent <PullObjects>();
        pullObjects.Initiate();

        currentLevel = pullObjects.Levels[CurrentLevelSelected.NumberLevel];
        int maxVegetables = currentLevel.MaxVegetables;

        vegetablesOnLevel = ProgressManagerComponent.GetVegetablesOnLevel(CurrentLevelSelected.NumberLevel);

        foreach (var slot in SlotsVegetables)
        {
            slot.transform.GetChild(0).gameObject.SetActive(false);    // Empty
            slot.transform.GetChild(1).gameObject.SetActive(false);    // Vegetable
            slot.transform.GetChild(2).gameObject.SetActive(true);     // Lock

            GetComponent <SoundSettings>().Buttons.Add(slot.transform.GetChild(0).GetComponent <Button>());
            GetComponent <SoundSettings>().Buttons.Add(slot.transform.GetChild(1).GetComponent <Button>());
            GetComponent <SoundSettings>().Buttons.Add(slot.transform.GetChild(1).transform.GetChild(3).GetComponent <Button>());
        }

        for (int i = 0; i < SelectVegetables.Count; ++i)
        {
            SelectVegetables[i].onClick.AddListener(SelectVegetable(i));
            GetComponent <SoundSettings>().Buttons.Add(SelectVegetables[i]);
        }

        for (int i = 0; i < maxVegetables; ++i)
        {
            SlotsVegetables[i].transform.GetChild(0).gameObject.SetActive(true);  // Empty
            SlotsVegetables[i].transform.GetChild(1).gameObject.SetActive(false); // Vegetable
            SlotsVegetables[i].transform.GetChild(2).gameObject.SetActive(false); // Lock

            SlotsVegetables[i].transform.GetChild(0).GetComponent <Button>().onClick.AddListener(OpenVegetableSelectionCanvas(i));
            SlotsVegetables[i].transform.GetChild(1).GetComponent <Button>().onClick.AddListener(OpenDeteleButton(i));
            SlotsVegetables[i].transform.GetChild(1).gameObject.transform.GetChild(3).gameObject.GetComponent <Button>().onClick.AddListener(DeteleVegetable);

            if (vegetablesOnLevel[i] != null)
            {
                SetVegetableAvaliable(SlotsVegetables[i], vegetablesOnLevel[i]);
            }
        }

        CoinsText.text = "" + ProgressManagerComponent.AmountOfMoney;
        PlayButton.onClick.AddListener(PlayButtonListener);
        BackButton.onClick.AddListener(BackButtonListener);
        PreviewButton.onClick.AddListener(PreviewButtonListener);

        EnablePlayButton();
    }
    void Start()
    {
        CoinsText.text = "" + ProgressManagerComponent.AmountOfMoney;
        BackButton.onClick.AddListener(backButtonListener);
        //ProgressManagerComponent.LastAvaliableLevelId = 0; //use this to clear level locks

        for (int i = 0; i < LevelButtons.Count; i++)
        {
            ChangeColor(LevelButtons[i], "DisableLevel");
            EnableButton(LevelButtons[i], false);
            EnableLock(LevelButtons[i], true);
            AddListenerOpenLevel(LevelButtons[i], i);
        }

        for (int j = 0; j < ProgressManagerComponent.LastAvaliableLevelId; j++)
        {
            LevelButtons[j].transform.GetChild(2).gameObject.SetActive(true);
            switch (ProgressManagerComponent.GetStarsOnLevel(j))
            {
            case 1:
                LevelButtons[j].transform.GetChild(2).GetComponentsInChildren <Button>()[1].interactable = false;
                LevelButtons[j].transform.GetChild(2).GetComponentsInChildren <Button>()[2].interactable = false;
                ChangeColor(LevelButtons[j], "OneStars");
                break;

            case 2:
                LevelButtons[j].transform.GetChild(2).GetComponentsInChildren <Button>()[2].interactable = false;
                ChangeColor(LevelButtons[j], "TwoStars");
                break;

            case 3:
                ChangeColor(LevelButtons[j], "ThreeStars");
                break;

            default:
                break;
            }
            EnableButton(LevelButtons[j], true);
            EnableLock(LevelButtons[j], false);
        }
        GameObject.Find("Manager").GetComponent <PullObjects>().Initiate();

        if (GameObject.Find("Manager").GetComponent <PullObjects>().Levels.Count >
            ProgressManagerComponent.LastAvaliableLevelId)
        {
            ChangeColor(LevelButtons[ProgressManagerComponent.LastAvaliableLevelId], "NewLevel");
            EnableButton(LevelButtons[ProgressManagerComponent.LastAvaliableLevelId], true);
            EnableLock(LevelButtons[ProgressManagerComponent.LastAvaliableLevelId], false);
        }
    }
    void Start()
    {
        int score        = GameObject.Find("Manager").GetComponent <Scores>().Score;
        int stars        = 1;
        int currentLevel = GameObject.Find("Manager").GetComponent <ObjectManagerScript>().CurrentLevelNumber;
        int oldStars     = ProgressManagerComponent.GetStarsOnLevel(currentLevel);

        //ProgressManagerComponent.LastAvaliableLevelId = Mathf.Max(GameObject.Find("Manager").GetComponent<ObjectManagerScript>().CurrentLevel + 1, ProgressManagerComponent.LastAvaliableLevelId);
        //int minScore = GameObject.Find("Manager").GetComponent<Scores>().MinScore;
        //int maxScore = GameObject.Find("Manager").GetComponent<Scores>().MaxScore;

        //if (GameObject.Find("Manager").GetComponent<Scores>().Score >= minScore + 0.4 * (maxScore-minScore))
        //{
        //    SecondStar.interactable = true;
        //    stars++;
        //}
        //if (GameObject.Find("Manager").GetComponent<Scores>().Score >= minScore + 0.8 * (maxScore - minScore))
        //{
        //    ThirdStar.interactable = true;
        //       stars++;
        //   }

        // TODO: Add stars logic here
        foreach (var vegetable in GameObject.Find("Manager").GetComponent <ObjectManagerScript>().AvailableVegetables)
        {
            print(vegetable.IsShoted + " " + vegetable.Score);
            if (!vegetable.IsShoted)
            {
                score += vegetable.Score;
            }
        }
        if (score >= GameObject.Find("Manager").GetComponent <ObjectManagerScript>().ScoreForTwoStars)
        {
            stars++;
            SecondStar.interactable = true;
        }
        if (score >= GameObject.Find("Manager").GetComponent <ObjectManagerScript>().ScoreForThreeStars)
        {
            stars++;
            ThirdStar.interactable = true;
        }

        int receivedCoins = 5;

        print(ProgressManagerComponent.GetStarsOnLevel(currentLevel));
        switch (stars)
        {
        case 1:
            if (ProgressManagerComponent.GetStarsOnLevel(currentLevel) == 0)
            {
                receivedCoins += 5;
            }
            break;

        case 2:
            if (ProgressManagerComponent.GetStarsOnLevel(currentLevel) == 0)
            {
                receivedCoins += 5;
                receivedCoins += 10;
            }
            else
            {
                if (ProgressManagerComponent.GetStarsOnLevel(currentLevel) == 1)
                {
                    receivedCoins += 10;
                }
            }
            break;

        case 3:
            if (ProgressManagerComponent.GetStarsOnLevel(currentLevel) == 0)
            {
                receivedCoins += 5;
                receivedCoins += 10;
                receivedCoins += 15;
            }
            else
            {
                if (ProgressManagerComponent.GetStarsOnLevel(currentLevel) == 1)
                {
                    receivedCoins += 10;
                    receivedCoins += 15;
                }
                else
                {
                    if (ProgressManagerComponent.GetStarsOnLevel(currentLevel) == 2)
                    {
                        receivedCoins += 15;
                    }
                }
            }
            break;
        }

        if (score > ProgressManagerComponent.GetScoreOnLevel(currentLevel))
        {
            ProgressManagerComponent.SetScoreOnLevel(currentLevel, score);
            ProgressManagerComponent.SetStarsOnLevel(currentLevel, stars);
        }

        /*int receivedCoins = 5 + 5 + 10 + 15;
         *  switch (oldStars)
         *  {
         *  case 1:
         *      receivedCoins -= 5;
         *      break;
         *  case 2:
         *      receivedCoins -= 5;
         *      receivedCoins -= 10;
         *      break;
         *  case 3:
         *      receivedCoins -= 5;
         *      receivedCoins -= 10;
         *      receivedCoins -= 15;
         *      break;
         *  }*/

        ReceivedCoins.text = "" + receivedCoins;
        ProgressManagerComponent.AmountOfMoney += receivedCoins;
        CoinsText.text = "" + ProgressManagerComponent.AmountOfMoney;
        Score.text     = Convert.ToString(score);
    }