コード例 #1
0
    private void Update()
    {
        if (isCarried)
        {
            float distanceToFoyerSqr = (this.transform.position - player.transform.position).sqrMagnitude;
            float blinkTime          = 0;
            if (distanceToFoyerSqr > maxBlinkDistanceSqr)
            {
                blinkTime = slowestBlinkTime;
            }
            else
            {
                blinkTime = (distanceToFoyerSqr / maxBlinkDistanceSqr) * slowestBlinkTime;
                if (blinkTime < fastestBlinkTime)
                {
                    blinkTime = fastestBlinkTime;
                }
            }

            timer += Time.deltaTime;
            if (timer > blinkTime)
            {
                timer      = 0;
                blinkState = !blinkState;
            }
            OnBlink?.Invoke(blinkState, blinkTime);
        }
    }
コード例 #2
0
    }                                                                 //Debug.Log("onUpdateRawdataEvent " + value); }

    void onUpdateBlinkEvent(int value)
    {
        OnBlink?.Invoke(value);
    }                                                             //Debug.Log("onUpdateBlinkEvent " + value);}