using MU3.CustomUI; using MU3.Game; using MU3.Sequence; using MU3.Util; using UnityEngine; namespace MU3; class patch_UIResultTechScore: UIResultTechScore { private MU3UICounter counterFast_; private MU3UICounter counterLate_; private void cloneCounter(MU3UICounter counter, Color color, int value) { var otherValue = counter.CounterAsInt; var offset = 12; while(otherValue > 9) { otherValue /= 10; offset += 8; } var cpy = Instantiate(counter); cpy.color = color; cpy.gameObject.transform.SetParent(counter.transform.parent, false); var pos = counter.gameObject.transform.localPosition; cpy.gameObject.transform.localPosition = new Vector3(pos.x - offset, pos.y, pos.z); cpy.gameObject.SetActive(true); cpy.CounterAsInt = value; } private void drawCounters() { float posXf = counterFast_.gameObject.transform.localPosition.x + 5.0f; float posXl = counterLate_.gameObject.transform.localPosition.x + 5.0f; float posY = counterLate_.gameObject.transform.localPosition.y; counterFast_.gameObject.transform.localPosition = new Vector3(posXf, posY, 0.0f); counterLate_.gameObject.transform.localPosition = new Vector3(posXl, posY, 0.0f); var sessionResult = (patch_SessionResult)Singleton.instance.sessionResult; cloneCounter( counterFast_, new Color(0.630f, 0.766f, 0.829f, 1.000f), sessionResult.PlatinumFastCount ); cloneCounter( counterLate_, new Color(0.809f, 0.396f, 0.365f, 1.000f), sessionResult.PlatinumLateCount ); } private extern void orig_drawTimingInclination(int numNotesFast, int numNotesLate); private void drawTimingInclination(int numNotesFast, int numNotesLate) { orig_drawTimingInclination(numNotesFast, numNotesLate); drawCounters(); } }