- Adding a check in the AxiosTimer update to only tick if the game is active

master
nathan@daedalus 2012-04-08 14:40:58 -05:00
parent b3183d6f04
commit 6e86581e13
3 changed files with 17 additions and 12 deletions

BIN
axios.suo

Binary file not shown.

View File

@ -59,6 +59,9 @@
* 1.0.1.2 - 4/1/2012
* - Making AxiosTimer inheirt from AxiosGameObject for it to be casted properly
*
* 1.0.1.3 - 4/7/2012
* - Adding a check in the AxiosTimer update to only tick if the game is active
*
*/
using System.Reflection;

View File

@ -37,25 +37,27 @@ namespace Axios.Engine
public override void Update(AxiosGameScreen gameScreen, GameTime gameTime, bool otherScreenHasFocus, bool coveredByOtherScreen)
{
if (_enabled)
if (gameScreen.IsActive) //only "tick" if the window has focus - otherwise the Timer will play catchup
{
if (gameTime.TotalGameTime - lastTick >= interval)
if (_enabled)
{
if (Tick != null)
if (gameTime.TotalGameTime - lastTick >= interval)
{
//EventArgs e = new EventArgs();
Tick(this, null);
}
if (Tick != null)
{
//EventArgs e = new EventArgs();
Tick(this, null);
}
lastTick = gameTime.TotalGameTime;
}
}
else
{
lastTick = gameTime.TotalGameTime;
}
}
else
{
lastTick = gameTime.TotalGameTime;
}
}
public override void LoadContent(AxiosGameScreen gameScreen)