54 lines
1.2 KiB
C#
54 lines
1.2 KiB
C#
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
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|