mirror of
https://github.com/digital-jellyfish/Virtu.git
synced 2024-06-12 01:29:27 +00:00
0182641281
Added save state support to all machine components. Switched from xml serialization to binary serialization. Refactored audio service for performance. Bumped machine version to 0.9.0 for next release. Miscellaneous cosmetic or minor changes.
60 lines
1.9 KiB
C#
60 lines
1.9 KiB
C#
using System;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using System.Threading;
|
|
using Microsoft.Xna.Framework;
|
|
using Microsoft.Xna.Framework.GamerServices;
|
|
using Microsoft.Xna.Framework.Graphics;
|
|
using Microsoft.Xna.Framework.Input;
|
|
|
|
namespace Jellyfish.Library
|
|
{
|
|
public class GameBase : Game
|
|
{
|
|
public GameBase() :
|
|
this(null)
|
|
{
|
|
}
|
|
|
|
public GameBase(string name)
|
|
{
|
|
Name = name;
|
|
|
|
Content.RootDirectory = "Content";
|
|
GraphicsDeviceManager = new GraphicsDeviceManager(this);
|
|
#if WINDOWS_PHONE
|
|
GraphicsDeviceManager.IsFullScreen = true;
|
|
TargetElapsedTime = TimeSpan.FromTicks(333333); // 30 fps
|
|
#elif XBOX
|
|
Components.Add(new GamerServicesComponent(this));
|
|
#else
|
|
SynchronizationContext = new System.Windows.Forms.WindowsFormsSynchronizationContext();
|
|
#endif
|
|
GraphicsDeviceService = (IGraphicsDeviceService)Services.GetService(typeof(IGraphicsDeviceService));
|
|
|
|
if (!string.IsNullOrEmpty(Name))
|
|
{
|
|
Window.Title = Name;
|
|
}
|
|
}
|
|
|
|
[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase")]
|
|
protected override void Update(GameTime gameTime)
|
|
{
|
|
var gamePadState = GamePad.GetState(PlayerIndex.One);
|
|
if (gamePadState.Buttons.Back == ButtonState.Pressed)
|
|
{
|
|
Exit();
|
|
}
|
|
|
|
base.Update(gameTime);
|
|
}
|
|
|
|
public string Name { get; private set; }
|
|
public GraphicsDeviceManager GraphicsDeviceManager { get; private set; }
|
|
public IGraphicsDeviceService GraphicsDeviceService { get; private set; }
|
|
#if WINDOWS
|
|
public SynchronizationContext SynchronizationContext { get; private set; }
|
|
#endif
|
|
}
|
|
}
|