Beispiel #1
0
    public override void AddTime(float timeUnits, ref int playContext)
    {
        _elapsedNextAction += timeUnits;
        _battleTrait.TickCooldowns(timeUnits);

        while (_elapsedNextAction >= _decisionDelay)
        {
            _currentStateTimeUnitsElapsed += _decisionDelay;
            _currentState.Process(this, _decisionDelay);
            _elapsedNextAction = Mathf.Max(_elapsedNextAction - _decisionDelay, 0.0f);
        }
    }