Пример #1
0
 private void Spin()
 {
     foreach (var line in lines)
     {
         line.Hide();
     }
     if (IsSpinning() || isSpin)
     {
         return;
     }
     StartCoroutine(IsSpinCoroutine());
     if (freeSpin > 0)
     {
         SpecialEventsStore.SetDidTenFreeSpins(levelId);
         Achivements.SetFreeSpinCounter();
         Achivements.SetMaxBetCounter();
         bet = MAX_BET;
         LevelsState.RemoveFreeSpin(levelId);
         freeSpin = freeSpin;
         AudioManager.Instance.ScrolingSlotSound();
         StartCoroutine(SpinCoroutine());
     }
     else if (coins >= bet)
     {
         if (bet == MAX_BET)
         {
             Achivements.SetMaxBetCounter();
         }
         coins -= bet;
         Purse.RemoveMoney(bet, 0);
         AudioManager.Instance.ScrolingSlotSound();
         StartCoroutine(SpinCoroutine());
     }
 }
Пример #2
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);
    }
Пример #3
0
    private new void Awake()
    {
        base.Awake();
        StartScreenPage = this;

        Open();
        Achivements.SetOpenTheGameCounter();
    }
Пример #4
0
 public static bool AddMoney(int coins, int diamonds = 0)
 {
     if ((Coins < -coins) && (Diamonds < -diamonds))
     {
         return(false);
     }
     Coins    += coins;
     Diamonds += diamonds;
     Achivements.SetCollectMoneyCounter(coins);
     Achivements.SetCollectDiamondsCounter(diamonds);
     return(true);
 }
Пример #5
0
    public void CreateAchivement(string parent, string title, string descripion, int point, int spriteIndex, string[] dependencies = null)
    {
        GameObject  achivement   = (GameObject)Instantiate(achivementPrefab);
        Achivements newAchivents = new Achivements(name, descripion, point, spriteIndex, achivement);

        achivements.Add(title, newAchivents);
        SetAchivementInfo(parent, achivement, title);
        if (dependencies != null)
        {
            foreach (string achivementTitle in dependencies)
            {
                Achivements dependency = achivements[achivementTitle];
                dependency.Child = title;
                newAchivents.AddDependency(dependency);
            }
        }
    }
Пример #6
0
        private static void AddAchivement(Achivements achivement)
        {
            if (Profile.Achivements.Contains(achivement))
            {
                return;
            }

            Profile.Achivements.Add(achivement);
            Profile.Save();

            var name = Localization.Localize("%" + achivement + "%").Split(Convert.ToChar("\n"))[0];

            Engine.Instance.TaskScheduler.CreateTask(() =>
            {
                Engine.Instance.PanelManager.ShowAchievementUnlockedPanel(name);
                Engine.Instance.AudioPlayer.PlayAchievement();
            }, 0.5f);
        }
Пример #7
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();
    }
Пример #8
0
 public override void Open()
 {
     base.Open();
     CheckValueAchivement();
     Achivements.SetOpenAchivementsCounter();
 }
Пример #9
0
 public void AddDependency(Achivements dependency)
 {
     dependencies.Add(dependency);
 }
Пример #10
0
 void OpenAllLevelCheck()
 {
     AchivementCheck(_openAllLevel, Achivements.GetOpenTheLevelProcent(), Achivements.OPEN_ALL_LEVELS_NUMBER);
 }
Пример #11
0
 void CollectDiamondCheck()
 {
     AchivementCheck(_collectDiamond, Achivements.GetCollectDiamondsProcent(), Achivements.COLLECT_DIAMONDS_NUMBER);
 }
Пример #12
0
 void DoSpecialEventsCheck()
 {
     AchivementCheck(_doSpecialEvents, Achivements.GetCompleteSpecialEventsProcent(), Achivements.COMPLETE_SPECIAL_EVENTS_NUMBER);
 }
Пример #13
0
 void MaxBetCheck()
 {
     AchivementCheck(_maxBet, Achivements.GetMaxBetProcent(), Achivements.MAX_BET_NUMBER);
 }
Пример #14
0
 void WildCheck()
 {
     AchivementCheck(_wild, Achivements.GetWildProcent(), Achivements.WILD_NUMBER);
 }
Пример #15
0
 void ScatterCheck()
 {
     AchivementCheck(_scatter, Achivements.GetScatterProcent(), Achivements.SCATTER_NUMBER);
 }
Пример #16
0
 void FreeSpeenCheck()
 {
     AchivementCheck(_freeSpin, Achivements.GetFreeSpinProcent(), Achivements.FREE_SPIN_NUMBER);
 }
Пример #17
0
    private void SelectAchievement(Achivements achivement)
    {
        string text;

        switch (achivement)
        {
        case Achivements.DummySnake:
            text = "%DummySnake%"; break;

        case Achivements.LongSnake:
            text = "%LongSnake%"; break;

        case Achivements.BossSnake:
            text = "%BossSnake%"; break;

        case Achivements.MegaSnake:
            text = "%MegaSnake%"; break;

        case Achivements.KingSnake:
            text = "%KingSnake%"; break;

        case Achivements.ChuckNorrisSnake:
            text = "%ChuckNorrisSnake%"; break;

        case Achivements.LuckySnake:
            text = "%LuckySnake%"; break;

        case Achivements.SpeedySnake:
            text = "%SpeedySnake%"; break;

        case Achivements.EpicFailSnake:
            text = "%EpicFailSnake%"; break;

        case Achivements.JerkSnake:
            text = "%JerkSnake%"; break;

        case Achivements.AstarotScale:
            text = "%AstarotScale%"; break;

        case Achivements.LeviathanScale:
            text = "%LeviathanScale%"; break;

        case Achivements.RyuuScale:
            text = "%RyuuScale%"; break;

        case Achivements.ViperScale:
            text = "%ViperScale%"; break;

        case Achivements.VolosScale:
            text = "%VolosScale%"; break;

        case Achivements.UnlockViper:
            text = "%UnlockViper%"; break;

        case Achivements.UnlockVolos:
            text = "%UnlockVolos%"; break;

        case Achivements.GameMaster:
            text = "%GameMaster%"; break;

        case Achivements.GameKing:
            text = "%GameKing%"; break;

        case Achivements.Played1Hours:
            text = "%Played1Hours%"; break;

        case Achivements.Played2Hours:
            text = "%Played2Hours%"; break;

        case Achivements.Played3Hours:
            text = "%Played3Hours%"; break;

        case Achivements.Played4Hours:
            text = "%Played4Hours%"; break;

        case Achivements.Eaten100Apples:
            text = "%Eaten100Apples%"; break;

        case Achivements.Eaten500Apples:
            text = "%Eaten500Apples%"; break;

        case Achivements.Eaten1000Apples:
            text = "%Eaten1000Apples%"; break;

        case Achivements.Eaten2500Apples:
            text = "%Eaten2500Apples%"; break;

        default:
            throw new Exception();
        }

        foreach (Match match in new Regex("%.+%").Matches(text))
        {
            text = text.Replace(match.Value, Localization.Localize(match.Value));
        }

        var info = text.Split(Convert.ToChar("\n"));

        Achievment.SetLocalizedText(info[0]);
        AchievmentDescription.SetLocalizedText(info[1]);
        Engine.PanelManager.ShowAchievement();
    }
Пример #18
0
 void OpenAchivementsCheck()
 {
     AchivementCheck(_openAchivement, Achivements.GetOpenAchivementsCounterProcent(), Achivements.OPEN_ACHIVEMENTS_NUMBER);
 }
Пример #19
0
 void MakeItemsCheck()
 {
     AchivementCheck(_makeLines, Achivements.GetLinesCounterProcent(), Achivements.LINES_NUMBER);
 }
Пример #20
0
 void GetDailyBonusCheck()
 {
     AchivementCheck(_getDailyBonus, Achivements.GetGetDailyBonusCounterProcent(), Achivements.GET_DAILY_BONUS_NUMBER);
 }
Пример #21
0
 void CollectMoneyCheck()
 {
     AchivementCheck(_collectMoney, Achivements.GetCollectMoneyProcent(), Achivements.COLLECT_MONEY_NUMBER);
 }
Пример #22
0
 public static void UnlockLevel(int levelId)
 {
     PlayerPrefs.SetInt(levelId + LEVEL_AVAILIBLE, 1);
     SetRectOfTime(levelId);
     Achivements.SetOpenTheLevelCounter();
 }
Пример #23
0
 void OpenTheGameCheck()
 {
     AchivementCheck(_openTheGame, Achivements.GetOpenTheGameProcent(), Achivements.OPEN_THE_GAME_NUMBER);
 }