2015-03-15 01:11:36 +01:00

59 lines
1.3 KiB
C#

#region Using Statements
using System;
using ANX.Framework.NonXNA.Development;
#endregion
// This file is part of the ANX.Framework created by the
// "ANX.Framework developer group" and released under the Ms-PL license.
// For details see: http://anxframework.codeplex.com/license
namespace ANX.Framework
{
[Developer("Glatzemann")]
public abstract class GameHost
{
internal event EventHandler<EventArgs> Activated;
internal event EventHandler<EventArgs> Deactivated;
internal event EventHandler<EventArgs> Exiting;
internal event EventHandler<EventArgs> Idle;
internal event EventHandler<EventArgs> Resume;
internal event EventHandler<EventArgs> Suspend;
public abstract GameWindow Window { get; }
public GameHost(Game game)
{
}
public abstract void Run();
public abstract void Exit();
protected void OnActivated()
{
InvokeIfNotNull(this.Activated);
}
protected void OnDeactivated()
{
InvokeIfNotNull(this.Deactivated);
}
protected void OnIdle()
{
InvokeIfNotNull(this.Idle);
}
protected void OnExiting()
{
InvokeIfNotNull(this.Exiting);
}
private void InvokeIfNotNull(EventHandler<EventArgs> eventHandler)
{
if (eventHandler != null)
eventHandler(this, EventArgs.Empty);
}
}
}