private void Start() { swinger = GetComponent <MatchTransform>().target.GetComponent <Swinger>(); swinger.OnPreSwing += Swinger_OnPreSwing; swinger.OnSwingStart += Swinger_OnSwingStart; swinger.OnSwingPause += Swinger_OnSwingPause; swinger.OnSwingEnd += Swinger_OnSwingEnd; }
public void DoSwing(Swinger swinger, System.Action callback = null) { swinger.DoSwing(swingStretch, swingArc, swingTime, swingPause, callback); }
IEnumerator SpinnyBoi() { if (SpinSaberUI.blindTime > 0f && SpinSaberUI.visibleTime > 0f) { StartCoroutine(BlindBoi()); } float t = 0; List <Swinger> swingers = config.SetupSwingers(); if (swingers.Count < 1) { Console.WriteLine("[SpinSaber] Zero swingers found! This party is weak!"); enabled = false; yield break; } Console.WriteLine("[SpinSaber] Set up the swingers!"); float timeMult = SpinSaberUI.timeMult; while (true) { yield return(null); if (IsPaused) { //playerController.transform.root.rotation = Quaternion.identity; } else { t += Time.deltaTime * timeMult; Swinger swinger = null; for (int i = 0; i < swingers.Count; i++) { if (swingers[i].startTime <t && swingers[i].endTime> t) { swinger = swingers[i]; break; } } if (swinger == null) { swinger = swingers[0]; t = 0; } playerController.transform.root.rotation = swinger.GetRotation((t - swinger.startTime) / (swinger.endTime - swinger.startTime)); //Convert to a 0-1 number } } /*while (true) { * yield return null; * if (IsPaused) { * rot = Vector3.zero; * } else { * rot = playerController.transform.root.rotation.eulerAngles; * } * rot.x += Plugin.xRot * Time.deltaTime; * rot.y += Plugin.yRot * Time.deltaTime; * rot.z += Plugin.zRot * Time.deltaTime; * playerController.transform.root.rotation = Quaternion.Euler(rot); * }*/ }