protected BulletBase(Danmaku danmaku,
                      Vector2f startPosition,
                      Vector2f size,
                      float hitboxRadius,
                      List <GameObject> targetObjects,
                      GameObject ownerObject,
                      EventHandler <EventArgs> onCollision,
                      int lifeTime,
                      RotatorBase rotator,
                      DeterminantOfDirectionOfMovementBase determinantOfDirectionOfMovement,
                      Texture texture,
                      WayOfDyingBase wayOfDyingBase,
                      StatChanger statChanger
                      )
     : base(danmaku, startPosition, size, hitboxRadius, lifeTime, texture)
 {
     TargetObjects  = targetObjects;
     OwnerObject    = ownerObject;
     WayOfDyingBase = wayOfDyingBase;
     DefineSaveDistances(TargetObjects);
     Collision += onCollision;
     _rotator   = rotator;
     _rotator.Initialize(this);
     DeterminantOfDirectionOfMovement = determinantOfDirectionOfMovement;
     DeterminantOfDirectionOfMovement.Initialize(this);
     WayOfDyingBase.Initialize(this);
     StatChanger = statChanger;
 }
Beispiel #2
0
 public override void Initialize()
 {
     DeterminantOfDirectionOfMovement.SpeedFactor = 10;
     DeterminantOfDirectionOfMovement.Initialize(this);
     _anfocusedMovement           = DeterminantOfDirectionOfMovement;
     _focusedMovement             = new MovementToNearestTargetObject(new MovementInPredeterminedDirection(new Vector2f(0, -1)));
     _focusedMovement.SpeedFactor = _anfocusedMovement.SpeedFactor;
     _focusedMovement.Initialize(this);
 }
Beispiel #3
0
        public override void Initialize()
        {
            base.Initialize();
            DeterminantOfDirectionOfMovement.SpeedFactor = 3;

            _defaultOfDirectionOfMovement  = DeterminantOfDirectionOfMovement;
            _movementToNearestTargetObject = new MovementToNearestTargetObject(new Vector2f(0, -1));
            _movementToNearestTargetObject.Initialize(this);
        }
Beispiel #4
0
 public BulletForDirectedAttack(Danmaku danmaku, Vector2f startPosition,
                                List <GameObject> targetObjects,
                                GameObject ownerObject, EventHandler <EventArgs> onCollision,
                                DeterminantOfDirectionOfMovementBase determinantOfDirectionOfMovement)
     : base(danmaku, startPosition, new Vector2f(50, 50), 20, targetObjects,
            ownerObject, onCollision, int.MaxValue / danmaku.FrameRateLimit,
            new AroundCenterRotator(10), determinantOfDirectionOfMovement,
            danmaku.Textures["BulletForDirectedAttack"], new GoBeyondGameAreaWayOfDying(danmaku),
            new StatChanger(-1))
 {
 }
 protected BulletBase(Danmaku danmaku,
                      Vector2f startPosition,
                      Vector2f size,
                      float hitboxRadius,
                      GameObject targetObject,
                      GameObject ownerObject,
                      EventHandler <EventArgs> onCollision,
                      int lifeTime,
                      RotatorBase rotator,
                      DeterminantOfDirectionOfMovementBase determinantOfDirectionOfMovement,
                      Texture texture,
                      WayOfDyingBase wayOfDyingBase,
                      StatChanger statChanger
                      )
     : this(danmaku, startPosition, size, hitboxRadius, new[] { targetObject }.ToList(), ownerObject, onCollision, lifeTime,
            rotator, determinantOfDirectionOfMovement, texture, wayOfDyingBase, statChanger)
 {
 }
Beispiel #6
0
 protected MainObjectBulletBase(Danmaku danmaku, Vector2f startPosition, Vector2f size, float hitboxRadius,
                                List <GameObject> targetObjects, GameObject ownerObject, EventHandler <EventArgs> onCollision, RotatorBase rotator, DeterminantOfDirectionOfMovementBase determinantOfDirectionOfMovement,
                                Texture texture)
     : base(danmaku, startPosition, size, hitboxRadius, targetObjects,
            ownerObject, onCollision, int.MaxValue / danmaku.FrameRateLimit, rotator, determinantOfDirectionOfMovement,
            texture, new NoneWayOfDying(danmaku), new StatChanger(-1))
 {
 }