Esempio n. 1
0
    void Moves()
    {
        if (_manager._death)
        {
            return;
        }

        _attacks = false;
        _manager.ResetEnemyDealAttack();
        _anima.SetBool("Attack", false);
        _anima.SetBool("Move", _currentHorAxis != 0);

        if (!_audioManager.IsPlaying(GhostSounds.Move.ToString()) && _currentHorAxis != 0)
        {
            _audioManager.Play(GhostSounds.Move.ToString());
        }
        else if (_currentHorAxis == 0)
        {
            _audioManager.Stop(GhostSounds.Move.ToString());
        }

        _rigidbody.velocity = new Vector2(_currentHorAxis * _speed, _rigidbody.velocity.y);

        bool actionRight = false;

        if (transform.localScale.x < 0)
        {
            actionRight = true;
        }

        if (_visibleHero)
        {
            if (Hero.instance.transform.position.x - transform.position.x > 0 && !actionRight)
            {
                Flip();
            }
            else if (Hero.instance.transform.position.x - transform.position.x < 0 && actionRight)
            {
                Flip();
            }
        }
        else
        {
            if (_currentHorAxis > 0 && !actionRight)
            {
                Flip();
            }
            else if (_currentHorAxis < 0 && actionRight)
            {
                Flip();
            }
        }
    }