コード例 #1
0
 public void FreeSpin(ResDTO.Spin.Payout.SpinInfo spinInfo)
 {
     Reset();
     UpdateSpinInfo(spinInfo);
     UpdateStartOrder(x => x.FreeSpin(spinInfo));
     CheckNextReel();
 }
コード例 #2
0
ファイル: SlotMachine.cs プロジェクト: Avatarchik/MobileSlot
        IEnumerator ReceivedSymbol_Enter()
        {
            _lastSpinInfo = _model.NextSpin();
            _ui.ReceivedSymbol();
            _reelContainer.ReceivedSymbol(_lastSpinInfo);

            yield break;
        }
コード例 #3
0
        public void ReceivedSymbol(ResDTO.Spin.Payout.SpinInfo spinInfo)
        {
            UpdateSpinInfo(spinInfo);

            for (var i = 0; i < _machineConfig.column; ++i)
            {
                _reels[i].ReceivedSymbol(spinInfo);
            }
        }
コード例 #4
0
ファイル: Reel.cs プロジェクト: Avatarchik/MobileSlot
        public void Spin(ResDTO.Spin.Payout.SpinInfo spinInfo = null)
        {
            _isSpinning    = true;
            _isReceived    = false;
            _spinCount     = 0;
            _currentStrips = GetCurrentStrip();

            if (spinInfo != null)
            {
                ReceivedSymbol(spinInfo);
            }

            UpdateSymbolState(SymbolState.Spin);

            SpinReel();
        }
コード例 #5
0
        // public bool IsFreeSpinTrigger { get; private set; }
        // public bool IsFreeSpinReTrigger { get { return IsFreeSpinning && IsFreeSpinTrigger; } }

        public ResDTO.Spin.Payout.SpinInfo NextSpin()
        {
            _lastSpinInfo = SpinDTO.payouts.MoveNext();

            if (_lastSpinInfo == null)
            {
                throw new System.NullReferenceException("SpinInfo can't be null");
            }

            IsFreeSpinTrigger = _lastSpinInfo.IsFreeSpinTrigger;

            if (IsFreeSpinTrigger)
            {
                if (IsFreeSpinReTrigger)
                {
                    switch (_currentMachine.MachineConfig.RetriggerType)
                    {
                    case FreeSpinRetriggerType.Add:
                        FreeSpinAddedCount = _lastSpinInfo.freeSpinCount;
                        break;

                    case FreeSpinRetriggerType.Refill:
                        FreeSpinAddedCount = _lastSpinInfo.freeSpinCount - FreeSpinRemain;
                        break;

                    case FreeSpinRetriggerType.None:
                        IsFreeSpinTrigger = false;
                        break;
                    }

                    FreeSpinTotal += FreeSpinAddedCount;
                }
                else
                {
                    FreeSpinCurrentCount = 0;
                    FreeSpinAddedCount   = _lastSpinInfo.freeSpinCount;
                    FreeSpinTotal        = FreeSpinAddedCount;
                }
            }

            WinType = GetWinType();

            return(_lastSpinInfo);
        }
コード例 #6
0
ファイル: SlotMachine.cs プロジェクト: Avatarchik/MobileSlot
        IEnumerator BonusSpin_Enter()
        {
            if (_paylineDisplayer != null)
            {
                _paylineDisplayer.Clear();
            }

            _lastSpinInfo = _model.NextSpin();

            yield return(_reelContainer.LockReel(_lastSpinInfo.fixedreel));

            _topboard.BonusSpin();

            yield return(new WaitForSeconds(MachineConfig.transition.LockReelAfterDelay));

            _reelContainer.BonusSpin(_lastSpinInfo);
            SlotSoundList.Spin();

            yield break;
        }
コード例 #7
0
ファイル: SlotMachine.cs プロジェクト: Avatarchik/MobileSlot
        IEnumerator FreeSpin_Enter()
        {
            _lastSpinInfo = _model.UseFreeSpin();

            if (_lastSpinInfo == null)
            {
                Debug.LogError("freeSpin info null");
            }

            if (_model.FreeSpinCurrentCount == 1)
            {
                yield return(StartCoroutine(FreeSpinModeStart()));
            }

            _topboard.FreeSpin();
            _ui.FreeSpin();
            _reelContainer.FreeSpin(_lastSpinInfo);

            SlotSoundList.FreeSpin();
        }
コード例 #8
0
ファイル: Reel.cs プロジェクト: Avatarchik/MobileSlot
        public void ReceivedSymbol(ResDTO.Spin.Payout.SpinInfo spinInfo)
        {
            if (spinInfo == null)
            {
                return;
            }

            _isReceived = true;

            _receivedSymbolNames.Value = spinInfo.GetReelData(_column, _machineConfig.row);

            /*
             * string[] reelData = spinInfo.GetReelData(_column, _config.Main.Row);
             *
             * for (var i = 0; i < reelData.Length; ++i)
             * {
             *  _receivedSymbolNames[i] = _config.Main.nameMap[reelData[i]];
             * }
             */

            //Debug.Log(string.Join(",", _receivedSymbolNames));
        }
コード例 #9
0
        void UpdateSpinInfo(ResDTO.Spin.Payout.SpinInfo spinInfo)
        {
            _lastSpinInfo = spinInfo;

            UpdateExpectSetting();
        }
コード例 #10
0
ファイル: Reel.cs プロジェクト: Avatarchik/MobileSlot
 public void BonusSpin(ResDTO.Spin.Payout.SpinInfo spinInfo)
 {
     Spin(spinInfo);
     //연출
 }
コード例 #11
0
ファイル: Reel.cs プロジェクト: Avatarchik/MobileSlot
 public void FreeSpin(ResDTO.Spin.Payout.SpinInfo spinInfo)
 {
     Spin(spinInfo);
 }