public WanderingState(Enemy2Controller enemy) : base(enemy)
        {
            animatorBoolParameterName = "IsWandering";

            _transform      = enemy.transform;
            _rigidbody      = enemy.Rigidbody;
            _parameters     = enemy.Parameters;
            _spriteRenderer = enemy.SpriteRenderer;
            _pathController = enemy.PathController;
        }
        public ChasingState(Enemy2Controller enemy,
                            Seeker seeker, SpriteRenderer spriteRenderer, float nextWaypointDistance) : base(enemy)
        {
            animatorBoolParameterName = "IsChasing";

            _parameters           = enemy.Parameters;
            _rigidbody            = enemy.Rigidbody;
            _transform            = enemy.transform;
            _seeker               = seeker;
            _spriteRenderer       = spriteRenderer;
            _nextWaypointDistance = nextWaypointDistance;

            _updatePathDelayer = new MethodDelayer(enemy, UpdatePath);
        }