public override void Update(float deltaTime)
        {
            base.Update(deltaTime);

            var enemy3Controller = enemy as Enemy3Controller;

            if (enemy3Controller.IsSeeingPlayer(_parameters.distanceToAttack) && GameManager.Player.isControlled)
            {
                enemy.SetState(Enemy3Controller.AttackingState);
                return;
            }

            _rigidbody.velocity = new Vector2(_direction * _parameters.Stats.velocity, _rigidbody.velocity.y);

            if (_canChangeDirection && IsGoingToChangeDirection())
            {
                ChangeDirection();
            }

            // Flip del sprite.
            var isOrientationRight = _direction > 0;

            _spriteRenderer.flipX = !isOrientationRight;
            _staffController.UpdateXOffset(isOrientationRight);
        }
예제 #2
0
        public override void Update(float deltaTime)
        {
            base.Update(deltaTime);

            // Flip del sprite.
            var directionFromPlayer = Mathf.Sign(GameManager.Player.transform.position.x - _transform.position.x);
            var isOrientationRight  = directionFromPlayer > 0;

            _spriteRenderer.flipX = !isOrientationRight;
            _staffController.UpdateXOffset(isOrientationRight);

            if (_parameters.hasBeenSpawned)
            {
                return;
            }

            if (!GameManager.Player.isControlled)
            {
                enemy.SetState(Enemy3Controller.IdleState);
            }
            else if (!IsSeeingPlayer())
            {
                enemy.SetState(Enemy3Controller.IdleState);
            }/*
              * if (canStopAttacking)
              * {
              *     enemy.SetState(Enemy3Controller.IdleState);
              * }
              * else if (!_canAlreadyStopAttackingDelayer.AlreadyHasADelay())
              * {
              *     _canAlreadyStopAttackingDelayer.SetNewDelay(TimeBeforeStopAttacking);
              * }
              * }
              * else
              * {
              * _canAlreadyStopAttackingDelayer.StopDelay();
              * }*/
        }