Exemplo n.º 1
0
    //---------------------------------------------------------------------------------------------------------------------------------------------

    //拉霸
    public void PullLever()
    {
        if (leverCanUse)                                                                                              //拉桿可控制時
        {
            SetOperationState(false);                                                                                 //操作狀態設為禁止

            SlotLevel    _nowSlot      = ScrollManager.Instance.slotLevelLayoutSetting[nowSlotLevel];                 //取得拉霸等級設定
            SpinModePack _spinModeList = ListExtensibleScript <SpinModePack> .RandomReturn(_nowSlot.spinModeSetting); //取得旋轉模式列表

            ScrollManager.Instance.Spin(_spinModeList, _nowSlot.linkTime);
            //ScrollManager.Instance.Spin(true, 12, 2f, 0.6f);
        }
        else if (leverCanSnap) //捲軸旋轉中, 手動中斷捲軸
        {
            //當拉霸動畫尚未撥放完畢時, 禁止操作拉霸
            AnimatorStateInfo _leverAnimInfo = ScrollManager.Instance.leverAnim.GetCurrentAnimatorStateInfo(0);
            if ((_leverAnimInfo.IsName("lever_spin") || _leverAnimInfo.IsName("lever_snap")) && _leverAnimInfo.normalizedTime <= 1)
            {
                return;
            }

            if (ScrollBehavior.s_scrollRollingStates != null && ScrollBehavior.s_scrollRollingStates.Length > 0)
            {
                for (int i = 0; i < ScrollBehavior.s_scrollRollingStates.Length; i++) //當有任何捲軸處於旋轉狀態時, 操控拉霸依序中斷旋轉
                {
                    if (ScrollBehavior.s_scrollRollingStates[i])
                    {
                        AudioManagerScript.Instance.PlayAudioClip("SE捲軸中斷");

                        ScrollManager.Instance.leverAnim.Play("lever_snap", 0, 0); //撥放捲軸中斷動畫
                        ScrollBehavior.s_scrollRollingStates[i] = false;
                        break;
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
 //捲軸旋轉(多載2/2) ※個別指定旋轉模式
 public void Spin(SpinModePack spinModeList, float linkTime)
 {
     StartCoroutine(Cor_BeginSpin(spinModeList.spinModePack, linkTime, false));
 }