示例#1
0
    private int CheckLines()
    {
        int win = 0;

        foreach (var typeCell in typeCells)
        {
            foreach (var line in lines)
            {
                int counter = 0;
                foreach (var point in line.Points)
                {
                    if ((cells[(int)point.x][(int)point.y].TypeCell.Id == typeCell.Id) ||
                        (cells[(int)point.x][(int)point.y].TypeCell.typeOfCell == TypeCell.TypeOfCell.Wild))
                    {
                        counter++;
                    }
                }
                if (typeCell.GetScore(counter) > 0)
                {
                    Achivements.SetLinesCounter();
                    if (typeCell.typeOfCell == TypeCell.TypeOfCell.Wild)
                    {
                        AudioManager.Instance.ScatterWildSound();
                        Achivements.SetWildCounter();
                    }
                    if (typeCell.typeOfCell == TypeCell.TypeOfCell.Diamond)
                    {
                        diamonds++;
                        Purse.AddMoney(0, 1);
                        AudioManager.Instance.MoneySound();
                        SpecialEventsStore.SetCollectedDiamonds(levelId, 1);
                    }
                    if (typeCell.typeOfCell == TypeCell.TypeOfCell.Scatter)
                    {
                        Achivements.SetScatterCounter();
                        AudioManager.Instance.ScatterWildSound();
                        switch (typeCell.GetScore(counter))
                        {
                        case 1:
                            StartCoroutine(FreeSpinAdd(spin1));
                            break;

                        case 3:
                            StartCoroutine(FreeSpinAdd(spin3));
                            break;
                        }
                        LevelsState.AddFreeSpin(levelId, typeCell.GetScore(counter));
                        freeSpin = freeSpin;
                    }
                    else
                    {
                        win += (int)((float)(typeCell.GetScore(counter)) * (float)bet * .01f);
                    }
                    AudioManager.Instance.LineSound();
                    line.Show();
                }
            }
        }
        return(win);
    }
示例#2
0
    public void EndSpin()
    {
        if (IsSpinning())
        {
            return;
        }
        FillCells();
        int winCoins = CheckLines();

        winText.text = winCoins + "";
        Purse.AddMoney(winCoins);
        AudioManager.Instance.MoneySound();
        SpecialEventsStore.SetCollectedCoins(levelId, winCoins);
        coins += CheckLines();
    }
示例#3
0
    private IEnumerator SetBonusCoroutine(int count)
    {
        Achivements.SetGetDailyBonusCounter();
        titleText.SetActive(false);
        bonusTexts[count].SetActive(true);
        for (var i = 0; i < bonusTexts.Length; i++)
        {
            bonusButtons[i].interactable = false;
        }
        bonusButtons[count].gameObject.SetActive(false);
        int rand = Random.Range(0, bonusImages.Length);

        bonusImages[rand].SetActive(true);
        bonusImages[rand].transform.position = new Vector3(bonusButtons[count].transform.position.x, 0f, 0f);
        switch (rand)
        {
        case 0:
            Purse.AddMoney(0, 100);
            break;

        case 1:
            Purse.AddMoney(5000);
            break;

        case 2:
            Purse.AddMoney(15000, 100);
            break;
        }
        foreach (var level in LevelPages)
        {
            level.UpdateMoney();
        }
        yield return(new WaitForSeconds(TIME_DELAY));

        Close();
    }