コード例 #1
0
ファイル: GraphicsDevice.cs プロジェクト: lis355/PointsOnline
        private void SetOverlayMode(EOverlayMode mode, Color overlayColor, bool force)
        {
            if (!force && mode == currentOverlayMode && overlayColor == this.currentOverlayColor)
            {
                return;
            }

            SetupTexture(currentTexture, true);

            currentOverlayMode  = mode;
            currentOverlayColor = overlayColor;
        }
コード例 #2
0
    // 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));
        }
    }