78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| 
 | |
| using Axios.Engine.Interfaces;
 | |
| using Microsoft.Xna.Framework;
 | |
| 
 | |
| namespace Axios.Engine
 | |
| {
 | |
|     /*
 | |
|      * Modeled after Nicks' implemenentation
 | |
|      * Source: http://www.gamedev.net/topic/473544-how-to-make-a-timer-using-xna/page__view__findpost__p__4107032
 | |
|      * 
 | |
|      */
 | |
|     public class AxiosTimer : IAxiosGameObject
 | |
|     {
 | |
|         TimeSpan interval = new TimeSpan(0, 0, 1);
 | |
|         TimeSpan lastTick = new TimeSpan();
 | |
|         private bool _enabled = false;
 | |
| 
 | |
|         public event EventHandler Tick;
 | |
| 
 | |
|         public TimeSpan Interval
 | |
|         {
 | |
|             get { return interval; }
 | |
|             set { interval = value; }
 | |
|         }
 | |
| 
 | |
|         public Boolean Enabled
 | |
|         {
 | |
|             get { return _enabled; }
 | |
|             set { _enabled = value; }
 | |
|         }
 | |
| 
 | |
|         public AxiosTimer()
 | |
|         {
 | |
|             
 | |
|         }
 | |
| 
 | |
|         public void Update(AxiosGameScreen gameScreen, GameTime gameTime, bool otherScreenHasFocus, bool coveredByOtherScreen)
 | |
|         {
 | |
| 
 | |
|             if (_enabled)
 | |
|             {
 | |
|                 if (gameTime.TotalGameTime - lastTick >= interval)
 | |
|                 {
 | |
|                     if (Tick != null)
 | |
|                         Tick(this, null);
 | |
| 
 | |
|                     lastTick = gameTime.TotalGameTime;
 | |
|                 }
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                 lastTick = gameTime.TotalGameTime;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public virtual void LoadContent(AxiosGameScreen gameScreen)
 | |
|         {
 | |
|             
 | |
|         }
 | |
| 
 | |
|         public void HandleInput(AxiosGameScreen gameScreen, FarseerPhysics.SamplesFramework.InputHelper input, Microsoft.Xna.Framework.GameTime gameTime)
 | |
|         {
 | |
|             
 | |
|         }
 | |
| 
 | |
|         public void HandleCursor(AxiosGameScreen gameScreen, FarseerPhysics.SamplesFramework.InputHelper input)
 | |
|         {
 | |
|             
 | |
|         }
 | |
| 
 | |
|         public void UnloadContent(AxiosGameScreen gameScreen)
 | |
|         {
 | |
|             
 | |
|         }
 | |
|     }
 | |
| }
 |