Beispiel #1
0
 public void CommitCycle(GameCycleData cycleData)
 {
     // Only Keep 10 games in history
     if (gameData.gameHistory.Count > 10)
     {
         gameData.gameHistory.RemoveAt(0);
     }
     gameData.gameHistory.Add(cycleData);
 }
Beispiel #2
0
        public void UpdateUI(GameCycleData data)
        {
            stateMachine.BetText.text    = data.betAmount.ToString();
            stateMachine.CreditText.text = data.endingCredits.ToString();
            stateMachine.AwardText.text  = data.totalWin.ToString();

            stateMachine.historyUI.bet.text          = data.betAmount.ToString();
            stateMachine.historyUI.win.text          = data.totalWin.ToString();
            stateMachine.historyUI.startingText.text = data.startingCredits.ToString();
            stateMachine.historyUI.endingText.text   = data.endingCredits.ToString();
        }
Beispiel #3
0
        public void UpdateReels()
        {
            Debug.Log("Game Index: " + gameIndex);

            GameCycleData data = stateMachine.dataManager.gameData.gameHistory[gameIndex];

            stateMachine.winEvaluator.StopWinCycle();
            for (int i = 0; i < stateMachine.reels.Length; i++)
            {
                stateMachine.reels[i].SetStop(data.reelStops[i]);
            }
            stateMachine.winEvaluator.StartWinCycle(data.award);

            UpdateUI(data);
        }
Beispiel #4
0
        public void CommitBet(int startingCredits)
        {
            stateMachine.inputManager.DisableInputs();

            var nextCycle = new GameCycleData();

            nextCycle.betAmount       = stateMachine.betLevels[stateMachine.betLevelIndex] * stateMachine.minBet;
            nextCycle.startingCredits = startingCredits;
            nextCycle.reelStops       = new List <int>();

            // Set reel stops for each reel
            // Random number if not seeding game
            for (int i = 0; i < stateMachine.reels.Length; i++)
            {
                if (stateMachine.reels[i].isActiveAndEnabled)
                {
                    if (!stateMachine.seedGame)
                    {
                        int newStop = UnityEngine.Random.Range(0, stateMachine.reels[i].symbolList.Length);
                        stateMachine.reels[i].SetTargetStopPosition(newStop);
                    }

                    nextCycle.reelStops.Add(stateMachine.reels[i].targetStopPos);
                }
            }

            Award award = stateMachine.winEvaluator.EvaluateWin();

            int totalWin = 0;

            foreach (var combo in award.lines)
            {
                if (!combo.bonusTriggered)
                {
                    totalWin += combo.winAmount;
                }
            }
            foreach (var combo in award.ways)
            {
                if (!combo.bonusTriggered)
                {
                    totalWin += combo.winAmount;
                }
            }
            foreach (var combo in award.scatters)
            {
                if (!combo.bonusTriggered)
                {
                    totalWin += combo.winAmount;
                }
            }

            totalWin *= stateMachine.betLevels[stateMachine.betLevelIndex];

            nextCycle.award = award;

            nextCycle.totalWin = totalWin;
            stateMachine.AddCredits(totalWin);
            nextCycle.endingCredits = stateMachine.credits;

            stateMachine.dataManager.CommitCycle(nextCycle);
            stateMachine.currentCycleData = nextCycle;

            stateMachine.ChangeState <ReelSpinState>();
        }
Beispiel #5
0
 public void Execute()
 {
     currentCycleData = dataManager.gameData.gameHistory[dataManager.gameData.gameHistory.Count - 1];
 }