protected override void UpdateVisuals() { FinishIndicator.SetActive(false); ApproachPercentage = (Delay + NoteStopwatch.ElapsedMilliseconds * PlaybackSpeed / 1000f) / ApproachTime; if (ApproachPercentage < 1) { TopHollowNoteBody.transform.localScale = new Vector3(0.2f + 0.3f * ApproachPercentage, 1); BottomHollowNoteBody.transform.localScale = new Vector3(0.2f + 0.3f * ApproachPercentage, 1); NoteFill.transform.localScale = NoteBorder.transform.localScale = new Vector3(0.6f + 0.4f * ApproachPercentage, 0.6f + 0.4f * ApproachPercentage); InnerNoteBorder.transform.localScale = new Vector3(0.4f + 0.35f * ApproachPercentage, 0.4f + 0.35f * ApproachPercentage); } else { CompletionPercentage = (Delay + NoteStopwatch.ElapsedMilliseconds * PlaybackSpeed / 1000f - ApproachTime) / HoldTime; TopFillNoteBodyMask.transform.localScale = new Vector3(Size * 50, TopHeight * CompletionPercentage * 100); BottomFillNoteBodyMask.transform.localScale = new Vector3(Size * 50, BottomHeight * CompletionPercentage * 100); if (CompletionPercentage > 1) { NoteStopwatch.Stop(); ParentPool.ReturnToPool(gameObject, Notetype); } } }
protected override void UpdateVisuals() { ApproachPercentage = (Delay + NoteStopwatch.ElapsedMilliseconds * PlaybackSpeed / 1000f) / ApproachTime; NoteFill.transform.localScale = new Vector3(ApproachPercentage, ApproachPercentage); NoteBorder.transform.localScale = new Vector3(0.6f + ApproachPercentage * 0.4f, 0.6f + ApproachPercentage * 0.4f); if (ApproachPercentage > 1) { NoteStopwatch.Stop(); ParentPool.ReturnToPool(gameObject, Notetype); } }
protected override void UpdateVisuals() { float time = Delay + NoteStopwatch.ElapsedMilliseconds * PlaybackSpeed / 1000f; ApproachPercentage = time / ApproachTime; if (!DragConnector.activeSelf && NextID > 0) { DragConnector.SetActive(true); } if (ApproachPercentage > 1) { NoteFill.transform.localScale = NoteBorder.transform.localScale = new Vector3(0.8f, 0.8f); if (CurrentPath < Paths.Count) { float pathcompletion = (Delay + NoteStopwatch.ElapsedMilliseconds * PlaybackSpeed / 1000f - (CurrentPath > 0 ? Paths[CurrentPath - 1].time : 0)) / (Paths[CurrentPath].time - (CurrentPath > 0 ? Paths[CurrentPath - 1].time : 0)); while (float.IsInfinity(pathcompletion)) { CurrentPath++; if (CurrentPath < Paths.Count) { pathcompletion = (Delay + NoteStopwatch.ElapsedMilliseconds * PlaybackSpeed / 1000f - (CurrentPath > 0 ? Paths[CurrentPath - 1].time : 0)) / (Paths[CurrentPath].time - (CurrentPath > 0 ? Paths[CurrentPath - 1].time : 0)); gameObject.transform.rotation = Quaternion.AngleAxis(90 + (float)(Math.Atan2(Paths[CurrentPath - 1].y - Paths[CurrentPath].y, Paths[CurrentPath - 1].x - Paths[CurrentPath].x) * 180 / Math.PI), Vector3.forward); } else { pathcompletion = 0; } } while (pathcompletion > 1) { if (CurrentPath > 0 && CurrentPath + 1 < Paths.Count && Notetype == (int)NoteType.CDRAG_HEAD) { gameObject.transform.rotation = Quaternion.AngleAxis(90 + (float)(Math.Atan2(Paths[CurrentPath].y - Paths[CurrentPath + 1].y, Paths[CurrentPath].x - Paths[CurrentPath + 1].x) * 180 / Math.PI), Vector3.forward); } CurrentPath++; if (CurrentPath < Paths.Count) { pathcompletion = (Delay + NoteStopwatch.ElapsedMilliseconds * PlaybackSpeed / 1000f - (CurrentPath > 0 ? Paths[CurrentPath - 1].time : 0)) / (Paths[CurrentPath].time - (CurrentPath > 0 ? Paths[CurrentPath - 1].time : 0)); } else { pathcompletion = 0; } } if (CurrentPath < Paths.Count) { gameObject.transform.position = new Vector3(Paths[CurrentPath - 1].x + pathcompletion * (Paths[CurrentPath].x - Paths[CurrentPath - 1].x), Paths[CurrentPath - 1].y + pathcompletion * (Paths[CurrentPath].y - Paths[CurrentPath - 1].y)); if (CurrentPath > 0) { DragConnector.GetComponent <SpriteRenderer>().size = new Vector2(0.175f, (1.0f - pathcompletion) * GlobalState.GetDistance(Paths[CurrentPath - 1].x, Paths[CurrentPath - 1].y, Paths[CurrentPath].x, Paths[CurrentPath].y) / gameObject.transform.localScale.x); DragConnector.transform.rotation = Quaternion.AngleAxis(90 + (float)(Math.Atan2(Paths[CurrentPath - 1].y - Paths[CurrentPath].y, Paths[CurrentPath - 1].x - Paths[CurrentPath].x) * 180 / Math.PI), Vector3.forward); } } } if (CurrentPath >= Paths.Count) { ParentPool.ReturnToPool(gameObject, Notetype); } } else { NoteFill.transform.localScale = NoteBorder.transform.localScale = new Vector3(0.4f + ApproachPercentage * 0.4f, 0.4f + ApproachPercentage * 0.4f); } }