protected override void OnInit() { base.OnInit(); // Add GUI elements Game.Screen.Elements.Add(m_backPrompt); Game.Screen.Elements.Add(m_diskSelectPrompt); Game.Screen.Elements.Add(m_aPrompt); Game.Screen.Elements.Add(m_bPrompt); // Start audio m_speakerOutput = Game.Audio.Audio.PlayCustom(m_devices, 1, SPEAKER_SAMPLE_RATE); // Choose a disk var allDisks = ArcadeUtils.GetAllDisks(); var lastPlayedDiskID = Game.User.Progress.GetLastPlayedArcadeGame(); DiskWithMod lastPlayedDisk = null; if (lastPlayedDiskID != 0) { for (int i = 0; i < allDisks.Count; ++i) { var disk = allDisks[i]; if (ArcadeUtils.IsDiskUnlocked(disk.Disk, disk.Mod, Game.User.Progress) && disk.Disk.ID == lastPlayedDiskID) { lastPlayedDisk = disk; break; } } } if (lastPlayedDisk == null) { lastPlayedDisk = allDisks.FirstOrDefault( disk => ArcadeUtils.IsDiskUnlocked(disk.Disk, disk.Mod, Game.User.Progress) ); } if (lastPlayedDisk != null) { SelectDisk(lastPlayedDisk.Disk, lastPlayedDisk.Mod); } // Turn on the computer m_computer.TurnOn(); UpdateDisplay(); }
public void GenerateSamples(ICustomPlayback playback, short[] data, int start, int numSamples) { m_speaker.Fill(data, start, numSamples, playback.Channels, playback.SampleRate); }