コード例 #1
0
ファイル: Hint.cs プロジェクト: Xenation/Architect
        public void Update()
        {
            if (!started || finished)
            {
                return;
            }

            if (startTime == 0f)
            {
                startTime = Time.time;
            }

            hintStartTime = startTime + startDelay;
            float time = Time.time - hintStartTime;

            if (time < 0)
            {
                return;
            }
            else if (hintDuration > 0 && time > hintDuration)
            {
                Finish();
                return;
            }

            float loopedTime = time % blinkDuration;
            float offTime    = blinkDuration * offPortion;

            if (loopedTime < offTime / 2f || loopedTime > blinkDuration - offTime / 2f)               // Off
            {
                if (prevOn)
                {
                    outlined.DisableHighlight(-1);
                }
                prevOn = false;
            }
            else                 // On
            {
                float onProgress       = (loopedTime - offTime / 2f) / (blinkDuration - offTime);
                float blinkStrength    = (onProgress > .5f) ? 1 - onProgress * 2f + 1 : onProgress * 2f;
                Color actualBlinkColor = blinkColor;
                actualBlinkColor.a = blinkStrength;

                if (!prevOn)
                {
                    outlined.EnableHighlight(-1, actualBlinkColor);
                }
                outlined.UpdateHighlight(-1, actualBlinkColor);

                prevOn = true;
            }
        }
コード例 #2
0
 public void DisablePreview()
 {
     outlined.DisableHighlight();
     if (snapped != null)
     {
         model.SetActive(false);
     }
 }