//--------------------------------------------------------------------------------------------------------------------------------------------- //拉霸 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; } } } } }
//捲軸旋轉(多載2/2) ※個別指定旋轉模式 public void Spin(SpinModePack spinModeList, float linkTime) { StartCoroutine(Cor_BeginSpin(spinModeList.spinModePack, linkTime, false)); }