Пример #1
0
        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();
        }
Пример #2
0
 public void GenerateSamples(ICustomPlayback playback, short[] data, int start, int numSamples)
 {
     m_speaker.Fill(data, start, numSamples, playback.Channels, playback.SampleRate);
 }