예제 #1
0
        public LevelInstructions Generate(Difficulty difficulty, AudioMetadata audioMetadata)
        {
            var events = lightEffectGenerator.Generate(audioMetadata);
            var notes  = GenerateModifiedBaseRhythm(difficulty, audioMetadata, out var obstacles);

            return(new LevelInstructions
            {
                Version = "1.5.0",
                BeatsPerMinute = (float)audioMetadata.BeatDetectorResult.BeatsPerMinute,
                BeatsPerBar = 4, //meaning is unclear
                NoteJumpSpeed = 10,
                Shuffle = 0,
                ShufflePeriod = 0.5f,
                Events = events,
                Notes = notes,
                Obstacles = obstacles
            });
        }
예제 #2
0
        public LevelInstructions Generate(Difficulty difficulty, AudioMetadata audioMetadata)
        {
            var events = lightEffectGenerator.Generate(audioMetadata);
            //var notes = GenerateNotesFromSongAnalysis(difficulty, audioMetadata);
            var notes     = GenerateModifiedBaseRhythm(difficulty, audioMetadata);
            var obstacles = obstacleGenerator.Generate(difficulty, audioMetadata);

            notes = RemoveNotesOverlappingWithObstacle(notes, obstacles).ToList();
            return(new LevelInstructions
            {
                Version = "1.5.0",
                BeatsPerMinute = (float)audioMetadata.BeatDetectorResult.BeatsPerMinute,
                BeatsPerBar = audioMetadata.BeatDetectorResult.BeatsPerBar,
                NoteJumpSpeed = 10,
                Shuffle = 0,
                ShufflePeriod = 0.5f,
                Events = events,
                Notes = notes,
                Obstacles = obstacles
            });
        }