internal void RaiseCollision(GamePlayEntity ent, GameTime gameTime, GamePlay level) { if (Collided != null) { Collided(this, new EntityCollisionEventArgs(this, ent, gameTime, level)); } }
public override void Update(GameTime gameTime) { if (!_collidedWithOwner) { _owner = null; } base.Update(gameTime); }
/// <summary> /// Checks if a specified entity is inside the explosion range. /// </summary> /// <param name="entity">Entity to be tested.</param> /// <returns>True if the entity is in the explosion.</returns> public bool InCollisionArea(GamePlayEntity entity) { if (!entity.InteractWithEntities) { return(false); } return(entity.RotatedCollisionArea.Intersects(this.RotatedCollisionArea)); }
public Laser(GamePlayEntity owner, Vector2 momentum, Vector2 position, Vector2 direction) : base(owner.Level, "Sprites/Laser") { _owner = owner; Momentum = momentum; Position = position + direction * _owner.Size / 2; Mass = 0.1f; MaxSpeed = 50; RotateToMomentum = true; Collided += Laser_Collided; }