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); }
private void Awake() { specialEventButton.onClick.AddListener(OpenSpecialEvent); hour = LevelsState.GetRestOfTime(Page.CurrentLevelId).Days * 24 + LevelsState.GetRestOfTime(Page.CurrentLevelId).Hours; minute = LevelsState.GetRestOfTime(Page.CurrentLevelId).Minutes; StartCoroutine(TimerCoroutine()); }
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()); } }
private void NewGame() { Purse.RemoveAllMoney(); for (int i = 0; i < LevelPages.Length; i++) { LevelsState.AddFreeSpin(i, 10); LevelsState.LockLevel(i); } LevelsState.UnlockLevel(0); Close(); StartScreenPage.Open(); }
private new void Awake() { base.Awake(); MenuPage = this; if (!LevelsState.IsLevelAvailible(0)) { LevelsState.UnlockLevel(0); } soundSettingsButton.onClick.AddListener(OpenSoundSettings); newGameButton.onClick.AddListener(NewGame); }
private void OpenOrBuy() { if (LevelsState.IsLevelAvailible(levelId)) { OpenLevel(); } else { if (Purse.RemoveMoney(priceCoin, priceDiamond)) { LevelsState.UnlockLevel(levelId); Unlock(); OpenLevel(); } } }
public void Init() { button.onClick.AddListener(OpenOrBuy); priceCoinText.text = LevelsState.IsLevelAvailible(levelId - 1) ? (SetMoneyText(Purse.Coins) + "/" + SetMoneyText(priceCoin)) : (SetMoneyText(priceCoin) + ""); priceDiamondText.text = LevelsState.IsLevelAvailible(levelId - 1) ? (SetMoneyText(Purse.Diamonds) + "/" + SetMoneyText(priceDiamond)) : (priceDiamond + ""); if (LevelsState.IsLevelAvailible(levelId)) { Unlock(); } else { Lock(); } }
public LevelSelectionScreen(bool _singlePlayer) { singlePlayer = _singlePlayer; int screenWidth = Program.game.screenWidth; int screenHeight = Program.game.screenHeight; int levelButtonWidth = screenWidth / 8; int levelButtonHeight = screenHeight / 8; int menuButtonWidth = 170; int menuButtonHeight = 92; int levelButton1y = screenHeight / 2 - 10; int levelButton2y = 2 * screenHeight / 3 + 40; int level1x = screenWidth / 2 - 5 * levelButtonWidth / 2; int level2x = screenWidth / 2 - levelButtonWidth / 2; int level3x = screenWidth / 2 + 3 * levelButtonWidth / 2; int menuButtony = screenHeight / 5; int easyx = screenWidth / 8; int menuButtonx = screenWidth / 2 - menuButtonWidth / 2; int hardx = 3 * screenWidth / 4; menuButton = new Button(new Point(menuButtonx, menuButtony), menuButtonWidth, menuButtonHeight, "Main Menu", "Buttons/mainMenuButton"); easyButton = new Button(new Point(easyx, menuButtony), menuButtonWidth, menuButtonHeight, "Easy", "Buttons/easy"); hardButton = new Button(new Point(hardx, menuButtony), menuButtonWidth, menuButtonHeight, "Hard", "Buttons/hard"); easyLevelButtons = new List<Button>(); easyLevelButtons.Add(new Button(new Point(level1x, levelButton1y), levelButtonWidth, levelButtonHeight, "level one", "LevelThumbnails/level0")); easyLevelButtons.Add(new Button(new Point(level2x, levelButton1y), levelButtonWidth, levelButtonHeight, "level two", "LevelThumbnails/level1")); easyLevelButtons.Add(new Button(new Point(level3x, levelButton1y), levelButtonWidth, levelButtonHeight, "level three", "LevelThumbnails/level2")); easyLevelButtons.Add(new Button(new Point(level1x, levelButton2y), levelButtonWidth, levelButtonHeight, "level four", "LevelThumbnails/level3")); easyLevelButtons.Add(new Button(new Point(level2x, levelButton2y), levelButtonWidth, levelButtonHeight, "level five", "LevelThumbnails/level4")); easyLevelButtons.Add(new Button(new Point(level3x, levelButton2y), levelButtonWidth, levelButtonHeight, "level six", "LevelThumbnails/level5")); hardLevelButtons = new List<Button>(); hardLevelButtons.Add(new Button(new Point(level1x, levelButton1y), levelButtonWidth, levelButtonHeight, "level one", "LevelThumbnails/level6")); hardLevelButtons.Add(new Button(new Point(level2x, levelButton1y), levelButtonWidth, levelButtonHeight, "level two", "LevelThumbnails/level7")); hardLevelButtons.Add(new Button(new Point(level3x, levelButton1y), levelButtonWidth, levelButtonHeight, "level three", "LevelThumbnails/level8")); hardLevelButtons.Add(new Button(new Point(level1x, levelButton2y), levelButtonWidth, levelButtonHeight, "level four", "LevelThumbnails/level9")); hardLevelButtons.Add(new Button(new Point(level2x, levelButton2y), levelButtonWidth, levelButtonHeight, "level five", "LevelThumbnails/level10")); hardLevelButtons.Add(new Button(new Point(level3x, levelButton2y), levelButtonWidth, levelButtonHeight, "level six", "LevelThumbnails/level11")); levelsState = LevelsState.COOPEASY; }
public LevelSelectionScreen(bool _singlePlayer) { singlePlayer = _singlePlayer; int screenWidth = Program.game.screenWidth; int screenHeight = Program.game.screenHeight; int levelButtonWidth = screenWidth / 8; int levelButtonHeight = screenHeight / 8; int menuButtonWidth = 170; int menuButtonHeight = 92; List<int> levely = new List<int>(); levely.Add(screenHeight / 2 - 10); levely.Add(2 * screenHeight / 3 + 40); List<int> levelx = new List<int>(); levelx.Add(screenWidth / 2 - 5 * levelButtonWidth / 2); levelx.Add(screenWidth / 2 - levelButtonWidth / 2); levelx.Add(screenWidth / 2 + 3 * levelButtonWidth / 2); int menuButtony = screenHeight / 5; int easyx = screenWidth / 8; int menuButtonx = screenWidth / 2 - menuButtonWidth / 2; int hardx = 3 * screenWidth / 4; menuButton = new Button(new Point(menuButtonx, menuButtony), menuButtonWidth, menuButtonHeight, "Main Menu", "Buttons/mainMenuButton"); easyButton = new Button(new Point(easyx, menuButtony), menuButtonWidth, menuButtonHeight, "Easy", "Buttons/easy"); hardButton = new Button(new Point(hardx, menuButtony), menuButtonWidth, menuButtonHeight, "Hard", "Buttons/hard"); easyLevelButtons = new List<Button>(); hardLevelButtons = new List<Button>(); easyLevelStars = new List<Sprite>(); hardLevelStars = new List<Sprite>(); if (singlePlayer) { for (int i = 0; i < 6; i++) { if (Program.game.unlockOn && i > Program.game.gameStats.data.singleNextLevelToUnlock) { easyLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/lockColor")); easyLevelButtons[i].selectable = false; } else { easyLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/level" + (i+12))); for (int j = 0; j < Program.game.gameStats.data.levelData[i + 12].numStars; j++) easyLevelStars.Add(new Sprite(new Point(j * 60 + levelx[i % 3] + levelButtonWidth / 2 - 80, levely[i / 3] + levelButtonHeight - 20))); } if (Program.game.unlockOn && i + 6 > Program.game.gameStats.data.singleNextLevelToUnlock) { hardLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/lockColor")); hardLevelButtons[i].selectable = false; } else { hardLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/level" + (i + 18))); for (int j = 0; j < Program.game.gameStats.data.levelData[i + 18].numStars; j++) hardLevelStars.Add(new Sprite(new Point(j * 60 + levelx[i % 3] + levelButtonWidth / 2 - 80, levely[i / 3] + levelButtonHeight - 20))); } } } else { for (int i = 0; i < 6; i++) { if (Program.game.unlockOn && i > Program.game.gameStats.data.coopNextLevelToUnlock) { easyLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/lockColor")); easyLevelButtons[i].selectable = false; } else { easyLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/level" + i)); for (int j = 0; j < Program.game.gameStats.data.levelData[i].numStars; j++) easyLevelStars.Add(new Sprite(new Point(j * 60 + levelx[i % 3] + levelButtonWidth / 2 - 80, levely[i / 3] + levelButtonHeight - 20))); } if (Program.game.unlockOn && i + 6 > Program.game.gameStats.data.coopNextLevelToUnlock) { hardLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/lockColor")); hardLevelButtons[i].selectable = false; } else { hardLevelButtons.Add(new Button(new Point(levelx[i % 3], levely[i / 3]), levelButtonWidth, levelButtonHeight, levelNames[i], "LevelThumbnails/level" + (i + 6))); for (int j = 0; j < Program.game.gameStats.data.levelData[i + 6].numStars; j++) hardLevelStars.Add(new Sprite(new Point(j * 60 + levelx[i % 3] + levelButtonWidth / 2 - 80, levely[i / 3] + levelButtonHeight - 20))); } } } levelsState = LevelsState.EASY; }
public void update() { if (menuButton.isSelected()) Program.game.startMainMenu(); else if (easyButton.isSelected()) levelsState = LevelsState.EASY; else if (hardButton.isSelected()) levelsState = LevelsState.HARD; switch (levelsState) { case LevelsState.EASY: for (int i = 0; i < easyLevelButtons.Count; i++) { if (easyLevelButtons[i].selectable && easyLevelButtons[i].isSelected()) Program.game.startLevel(i, singlePlayer); } break; case LevelsState.HARD: for (int i = 0; i < hardLevelButtons.Count; i++) { if (hardLevelButtons[i].selectable && hardLevelButtons[i].isSelected()) Program.game.startLevel(i + 6, singlePlayer); } break; } }
public override void OnStateEnter(Animator animator, AnimatorStateInfo animatorStateInfo, int layerIndex) { _LevelsState = FindObjectOfType <LevelsState>(); _LevelsState.OnStateEnter(animator, animatorStateInfo, layerIndex); }
public static bool NextLevelIsOpen(int levelId) { return(LevelsState.IsLevelAvailible(levelId + 1)); }