コード例 #1
0
    void AddTimePenalty(float timePenalty)
    {
        if (_timePenaltyLocked)
        {
            return;
        }

        _timePenaltyLocked = true;
        Invoke("UnlockTimePenalty", _timePenaltyTimer);

        float totalTime;

        if (_reverseTime)
        {
            if (_currentTime > 0)
            {
                _currentTime -= timePenalty;
                TestGameOverConditions();
            }
            totalTime = _currentTime;
        }
        else
        {
            _timePenalty += timePenalty;
            totalTime     = _timePenalty + Time.timeSinceLevelLoad - _startTime;
        }
        timeElapsedLabel.text = TimeToString(totalTime);

        _timeLabelFactory.ActivateLabel(((int)timePenalty).ToString());
    }