#region Using Statements
using System;
#if MONOMAC
using MonoMac.AppKit;
using MonoMac.Foundation;
#elif IPHONE
using MonoTouch.Foundation;
using MonoTouch.UIKit;
using Microsoft.Xna;
using Microsoft.Xna.Framework.Media;
#elif MONOMAC
#endif
#endregion
namespace GameStateManagement
{
#region Entry Point
#if MONOMAC
class Program
{
static void Main (string[] args)
{
NSApplication.Init ();
using (var p = new NSAutoreleasePool ()) {
NSApplication.SharedApplication.Delegate = new AppDelegate ();
NSApplication.Main (args);
}
}
}
class AppDelegate : NSApplicationDelegate
{
private GameStateManagementGame game;
public override void FinishedLaunching (MonoMac.Foundation.NSObject notification)
{
game = new GameStateManagementGame ();
game.Run();
}
public override bool ApplicationShouldTerminateAfterLastWindowClosed (NSApplication sender)
{
return true;
}
}
#elif IPHONE
[Register("AppDelegate")]
class Program : UIApplicationDelegate
{
GameStateManagementGame game;
public override void FinishedLaunching(UIApplication app)
{
// Fun begins..
game = new GameStateManagementGame();
game.Run();
}
///
/// The main entry point for the application.
///
static void Main(string[] args)
{
UIApplication.Main(args, null, "AppDelegate");
}
}
#elif MONOMAC
static class Program
{
///
/// The main entry point for the application.
///
static void Main (string[] args)
{
MonoMac.AppKit.NSApplication.Init ();
using (var p = new MonoMac.Foundation.NSAutoreleasePool ()) {
MonoMac.AppKit.NSApplication.SharedApplication.Delegate = new AppDelegate();
MonoMac.AppKit.NSApplication.Main(args);
}
}
}
class AppDelegate : MonoMac.AppKit.NSApplicationDelegate
{
public override void FinishedLaunching (MonoMac.Foundation.NSObject notification)
{
var game = new GameStateManagementGame();
game.Run();
}
public override bool ApplicationShouldTerminateAfterLastWindowClosed (MonoMac.AppKit.NSApplication sender)
{
return true;
}
}
#else
///
/// The main entry point for the application.
///
static class Program
{
static void Main()
{
using (GameStateManagementGame game = new GameStateManagementGame())
{
game.Run();
}
}
}
#endif
#endregion
}