示例#1
0
 public void LoadHitObjects()
 {
     if (Timer.Ticks < Duration.TotalMilliseconds && Timer.IsStarted == true)
     {
         foreach (HitObject o in Level.Beatmap.HitObjects)
         {
             if (Timer.Ticks == o.StartTime - (Level.Beatmap.DifficultyApproachRate * Speed[0]))
             {
                 int index = HitObjects.FindIndex(f => f.X == o.StartPosition.X);
                 if (index == -1)
                 {
                     TotalHits++;
                     HitObjects.Add(new Cube(DefaultColor, o.StartPosition.X, -50, Size, Size, false, false));
                     Random gen = new Random();
                     if (gen.Next(100) < 40)
                     {
                         HitObjects.Add(new Cube(DefaultColor, o.StartPosition.X + 10, -150, 20, 20, false, true));
                     }
                 }
             }
         }
     }
     else if (Timer.Ticks > Duration.TotalMilliseconds && State.GetType() != typeof(GameEnded))
     {
         Timer.Stop();
         SplashKit.StopMusic();
         SetState(new GameEnded());
     }
 }