//----------------------------------------------------------------------------
//Description: The ManagerSDLTime class...
//
//Author: Scott Nykl & Chad Mourning
//----------------------------------------------------------------------------

#pragma once

//SLN Will eventually be removed... Use AftrTimer instead or std::chrono

namespace Aftr
{
   class WO;


class ManagerSDLTime
{
public:

   static void initialize();
   static void updateTime();
   static unsigned int getTimeSinceLastPhysicsIteration();
   static unsigned int getTimeSinceLastMainLoopIteration();
   static unsigned int getNumMainLoopIterations();
   
   ///Number of main loop iterations since the ManagerSDLTime was initialized.
   static unsigned int numMainLoops;

   static unsigned int lastMainLoopTimeStamp;
   static unsigned int diffSinceLastMainLoopIteration;
protected:
   static unsigned int prevTimeStamp;
   static unsigned int currTimeStamp;
   static unsigned int diffSinceLastPhysicsIteration;
};

} //namespace Aftr

