54 lines
1.2 KiB
C#
Raw Normal View History

2011-10-31 05:36:24 +00:00
using System;
// 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
2011-10-31 05:36:24 +00:00
namespace ANX.Framework
{
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);
}
}
2011-10-31 05:36:24 +00:00
}