예제 #1
0
        private FallingBonus CreateFallingBonus(Vector2 position, Point size, BonusMethod bonusMethod)
        {
            Body         fallingBody  = new Body(new Transform(position, new Vector2(0, fallingVelocity)), size);
            Texture2D    bonusTexture = textures[bonusMethod.Name.ToString()];
            FallingBonus bonus        = new FallingBonus(bonusTexture, fallingBody, bonusMethod);

            return(bonus);
        }
예제 #2
0
 public void CheckBonusCollider(FallingBonus bonus, Rectangle screen)
 {
     if (bonus.Body.Collider.Bottom > bound.Body.Collider.Top)
     {
         gameManager.RemoveBonus(bonus);
     }
     if (bonus.Body.Collider.Intersects(bound.Body.Collider))
     {
         if (!bound.Body.IntersectsVert(bonus.Body.Collider))
         {
             bonus.Invoke();
         }
     }
 }
예제 #3
0
 public void RemoveBonus(FallingBonus bonus)
 {
     bonusManager.RemoveBonus(bonus);
 }
예제 #4
0
 public void CheckBonusCollider(FallingBonus bonus)
 {
     levelManager.CurrentLevel.CheckBonusCollider(bonus, ScreenRect);
 }
예제 #5
0
 public void RemoveBonus(FallingBonus bonus)
 {
     activeBonuses.Remove(bonus);
     bonus             = null;
     bonusCountChanged = true;
 }