public void HandleCollision()
 {
     HandleScore();
     enemy.CanDealDamage = false;
     enemy.Flipped();
     fireball.Explode();
 }
示例#2
0
 public void Update()
 {
     timer--;
     if (timer == 0)
     {
         projectile.Explode();
     }
 }
        public void HandleCollision()
        {
            collision.ResolveOverlap(fireball, side);

            if (side is TopSideCollision && !(block.State is HiddenBlockState))
            {
                fireball.Bounce();
            }
            else if (!(block.State is HiddenBlockState))
            {
                fireball.Explode();
            }
        }
示例#4
0
        public static void HandleCollision(IProjectile projectile, CollisionSide side)
        {
            switch (side)
            {
            case CollisionSide.Top:
            case CollisionSide.Bottom:
            case CollisionSide.Left:
            case CollisionSide.Right:
                if (!(projectile.PhysicsState is NullPhysicsState))
                {
                    projectile.Explode();
                }
                break;

            case CollisionSide.None:
                break;
            }
        }
        public static void HandleCollision(IProjectile projectile, IEnemy enemy, CollisionSide side, IWorld world)
        {
            if (!(enemy.PhysicsState is EnemyDeadState))
            {
                switch (side)
                {
                case CollisionSide.Top:
                case CollisionSide.Bottom:
                case CollisionSide.Left:
                case CollisionSide.Right:
                    if (!(projectile.PhysicsState is NullPhysicsState) && !(projectile is JulianProjectile))
                    {
                        projectile.Explode();
                        enemy.TakeDamage();
                        world.HUD.score += 200;
                    }
                    break;

                case CollisionSide.None:
                    break;
                }
            }
        }