Input & Resource Managers
This commit is contained in:
@ -19,11 +19,84 @@
|
||||
|
||||
namespace ia::iae
|
||||
{
|
||||
FLOAT32 g_globalTimeScale = 1.0f;
|
||||
|
||||
FLOAT32 g_deltaTime{1 / 60.0f};
|
||||
INT64 g_lastFrameTick{0};
|
||||
|
||||
std::chrono::time_point<std::chrono::high_resolution_clock> g_startMS;
|
||||
|
||||
VOID Time::Initialize()
|
||||
{
|
||||
g_startMS = std::chrono::high_resolution_clock::now();
|
||||
}
|
||||
|
||||
VOID Time::Terminate()
|
||||
{
|
||||
}
|
||||
|
||||
VOID Time::NextFrame()
|
||||
{
|
||||
const auto t = GetTickCount();
|
||||
g_deltaTime = t - g_lastFrameTick;
|
||||
g_lastFrameTick = t;
|
||||
}
|
||||
|
||||
INT64 Time::GetTickCount()
|
||||
{
|
||||
return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now() -
|
||||
g_startMS)
|
||||
.count();
|
||||
}
|
||||
|
||||
INT64 Time::GetCurrentSecond()
|
||||
{
|
||||
return std::chrono::duration_cast<std::chrono::seconds>(std::chrono::high_resolution_clock::now() - g_startMS)
|
||||
.count();
|
||||
}
|
||||
|
||||
FLOAT32 Time::GetFrameDeltaTime()
|
||||
{
|
||||
return g_deltaTime * g_globalTimeScale;
|
||||
}
|
||||
|
||||
INT64 Time::GetUnixSecond()
|
||||
{
|
||||
return std::chrono::duration_cast<std::chrono::seconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch()).count();
|
||||
}
|
||||
|
||||
INT64 Time::GetUnixMillisecond()
|
||||
{
|
||||
return std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||
std::chrono::system_clock::now().time_since_epoch()).count();
|
||||
}
|
||||
} // namespace ia::iae
|
||||
|
||||
namespace ia::iae
|
||||
{
|
||||
VOID Engine::SetTimeScale(IN FLOAT32 scale)
|
||||
{
|
||||
g_globalTimeScale = scale;
|
||||
}
|
||||
|
||||
INT64 Engine::GetTickCount()
|
||||
{
|
||||
return Time::GetTickCount();
|
||||
}
|
||||
|
||||
INT64 Engine::GetUnixSecond()
|
||||
{
|
||||
return Time::GetUnixSecond();
|
||||
}
|
||||
|
||||
INT64 Engine::GetUnixMillisecond()
|
||||
{
|
||||
return Time::GetUnixMillisecond();
|
||||
}
|
||||
|
||||
FLOAT32 Engine::GetFrameDeltaTime()
|
||||
{
|
||||
return Time::GetFrameDeltaTime();
|
||||
}
|
||||
} // namespace ia::iae
|
||||
Reference in New Issue
Block a user