private SpinDataClass GetSpinData() { SpinDataClass data = new SpinDataClass(); data.Combinations = new List <SpinDataClass.ComboLineClass>(); bool win = isWin(); data.itemsData = new int[5, 3]; for (int x = 0; x < 5; x++) { for (int y = 0; y < 3; y++) { data.itemsData[x, y] = GetRandomID(); } } if (win) { int[] comboLine = GetComboLine(); for (int i = 0; i < comboLine.Length; i++) { int comboLength = GetComboLength(); int winCell = GetRandomID(); for (int x = 4; x >= (5 - comboLength); x--) { data.itemsData[x, SlotSettings.Combinations[comboLine[i]].numbers[x]] = winCell; } } } for (int i = 0; i < SlotSettings.Combinations.Count; i++) { int id = data.itemsData[4, SlotSettings.Combinations[i].numbers[4]]; SpinDataClass.ComboLineClass combo = new SpinDataClass.ComboLineClass(); combo.ID = i; for (int x = 4; x >= 0; x--) { if (data.itemsData[x, SlotSettings.Combinations[i].numbers[x]] != id) { break; } combo.Length = 5 - x; combo.winAmount = combo.Length * SlotSettings.Items[id].Value * (SlotSettings.BetsList[player_controller.instance.bet] / 5); } if (combo.Length >= 3) { data.Combinations.Add(combo); } } return(data); }
private void Spin(button_handler button) { if (canPlay) { if (player_controller.instance.Reduce(crypt.data.Encrypt("" + SlotSettings.BetsList[player_controller.instance.bet]))) { reelAudio.clip = SpinSound; reelAudio.loop = true; reelAudio.Play(); CurrentSpin = GetSpinData(); for (int x = 0; x < SlotReels.Count; x++) { SlotReels[x].WantedSpeed = SlotSettings.SpinSpeed; } canPlay = false; isRun = true; SpinTimer = 0; } } }