internal void RaiseCollision(GamePlayEntity ent, GameTime gameTime, GamePlay level)
 {
     if (Collided != null)
     {
         Collided(this, new EntityCollisionEventArgs(this, ent, gameTime, level));
     }
 }
Example #2
0
        public override void Update(GameTime gameTime)
        {
            if (!_collidedWithOwner)
            {
                _owner = null;
            }

            base.Update(gameTime);
        }
Example #3
0
        /// <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));
        }
Example #4
0
        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;
        }