private void SetOverlayMode(EOverlayMode mode, Color overlayColor, bool force) { if (!force && mode == currentOverlayMode && overlayColor == this.currentOverlayColor) { return; } SetupTexture(currentTexture, true); currentOverlayMode = mode; currentOverlayColor = overlayColor; }
// Update is called once per frame void Update() { Global.NetObj.UpdateUdpListener(); Global.NetObj.UpdateClientJudgeState(); if (Input.GetKeyDown(KeyCode.Space)) { OverlayMode = OverlayMode == EOverlayMode.Routine ? EOverlayMode.Scoreboard : EOverlayMode.Routine; } if (Input.GetKeyDown(KeyCode.UpArrow)) { StartAnimTime = DateTime.Now; OverlayAnimInterp = 0f; OverlayAnimState = EOverlayAnimState.In; } if (Input.GetKeyDown(KeyCode.DownArrow)) { OverlayAnimInterp = 0f; OverlayAnimState = EOverlayAnimState.Out; StartAnimTime = DateTime.Now; } if (bRoutineStarted && (DateTime.Now - RoutineStartTime).TotalMinutes > GetRoutineLengthMinutes()) { StopRoutineJudging(); } const float AnimateTime = 2f; if (OverlayAnimState == EOverlayAnimState.Out && DateTime.Now > StartAnimTime) { double time = (DateTime.Now - StartAnimTime).TotalSeconds; OverlayAnimInterp = Math.Min((float)(time / AnimateTime), 1f); } if (OverlayAnimState == EOverlayAnimState.In && DateTime.Now > StartAnimTime) { double SecondsAfterRoutine = (DateTime.Now - StartAnimTime).TotalSeconds; OverlayAnimInterp = Math.Max(0f, (float)(SecondsAfterRoutine / AnimateTime)); } }