Пример #1
0
    IEnumerator STATE()
    {
        _inState = true;
        _stateOwner.AttackTaskChange(FCCommand.CMD.STATE_ENTER);

        if (_stateOwner.TargetAC)
        {
            _stateOwner.FaceToTarget(_stateOwner.TargetAC);
        }

        PlayAnimation();

        _attackBase.AttackLastTime = _stateOwner.ACOwner.AniGetAnimationLength() * 1f / 3f;
        while (_inState)
        {
            if (!GameManager.Instance.GamePaused)
            {
                if (!_stateOwner.IsInAttackEndDelay)
                {
                    _attackBase.AttackUpdate();
                }
            }
            yield return(null);
        }
        _stateOwner.AttackTaskChange(FCCommand.CMD.STATE_QUIT);
        _stateOwner.ChangeState();
    }