protected override void Initialize()
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);
            var random = new Random((int)DateTime.Now.Ticks);

            _steeringTarget           = new SteeringTarget(Vector2.Zero);
            _seekBehaviour            = new SeekBehaviour(_steeringTarget);
            _fleeBehaviour            = new FleeBehaviour(_steeringTarget);
            _currentSteeringBehaviour = _seekBehaviour;

            for (var i = 0; i < 3000; i++)
            {
                var entity = new Entity(this, _spriteBatch, new Vehicle
                {
                    Position = new Vector2(random.Next(GraphicsDevice.Viewport.Width), random.Next(GraphicsDevice.Viewport.Height)),

                    // Todo if you like:
                    // Tweak these values to see how they affect the steering behaviours.

                    MaxSpeed = 500,
                    MaxForce = 350,
                    Mass     = 1f
                });
                entity.SetSteeringBehaviour(_seekBehaviour);
                Components.Add(entity);
            }

            base.Initialize();
        }
        protected override void Initialize()
        {
            _spriteBatch = new SpriteBatch(GraphicsDevice);
            var random = new Random((int)DateTime.Now.Ticks);
            _steeringTarget = new SteeringTarget(Vector2.Zero);
            _seekBehaviour = new SeekBehaviour(_steeringTarget);
            _fleeBehaviour = new FleeBehaviour(_steeringTarget);
            _currentSteeringBehaviour = _seekBehaviour;

            for (var i = 0; i < 3000; i++)
            {
                var entity = new Entity(this, _spriteBatch, new Vehicle
                {
                    Position = new Vector2(random.Next(GraphicsDevice.Viewport.Width), random.Next(GraphicsDevice.Viewport.Height)),

                    // Todo if you like:
                    // Tweak these values to see how they affect the steering behaviours.

                    MaxSpeed = 500,
                    MaxForce = 350,
                    Mass = 1f
                });
                entity.SetSteeringBehaviour(_seekBehaviour);
                Components.Add(entity);
            }

            base.Initialize();
        }
示例#3
0
 public FleeBehaviour(SteeringTarget target)
 {
     _target = target;
 }
示例#4
0
 public SeekBehaviour(SteeringTarget target)
 {
     _target = target;
 }
 public FleeBehaviour(SteeringTarget target)
 {
     _target = target;
 }