/// <summary> /// Removes a HitObject sprite at a given index. /// </summary> public void RemoveHitObjectSprite(HitObjectInfo h) { lock (HitObjects) { var ho = HitObjects?.Find(x => x.Info == h); HitObjects?.Remove(ho); if (ho != null) { ho.IsInView = false; ho?.Destroy(); } HitObjects = HitObjects.OrderBy(x => x.Info.StartTime).ToList(); } }
public void Draw() { SplashKit.ClearScreen(); SplashKit.DrawBitmap("Background", 0, 0); foreach (GameObject o in Objects) { o.Draw(); } if (HP.Count > 0) { for (int i = 0; i < HP.Count; i++) { if (HP[i].Hit) { HP.Remove(HP[i]); } else { HP[i].Draw(); } } } if (HitObjects.Count > 0) { for (int i = 0; i < HitObjects.Count; i++) { if (HitObjects[i].Y >= SplashKit.ScreenHeight() || HitObjects[i].Hit) { HitObjects.Remove(HitObjects[i]); } else { HitObjects[i].Draw(); } } } Player.Draw(); Modifier.drawScore(); ProgressBar(); }
/// <summary> /// Remove a DrawableHitObject from this Playfield. /// </summary> /// <param name="h">The DrawableHitObject to remove.</param> public virtual void Remove(DrawableHitObject h) => HitObjects.Remove(h);
/// <summary> /// Remove a DrawableHitObject from this Playfield. /// </summary> /// <param name="h">The DrawableHitObject to remove.</param> public virtual void Remove(DrawableHitObject <TObject, TJudgement> h) => HitObjects.Remove(h);