public void CommitCycle(GameCycleData cycleData) { // Only Keep 10 games in history if (gameData.gameHistory.Count > 10) { gameData.gameHistory.RemoveAt(0); } gameData.gameHistory.Add(cycleData); }
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(); }
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); }
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>(); }
public void Execute() { currentCycleData = dataManager.gameData.gameHistory[dataManager.gameData.gameHistory.Count - 1]; }