本文整理汇总了C++中CTimeValue::SetValue方法的典型用法代码示例。如果您正苦于以下问题:C++ CTimeValue::SetValue方法的具体用法?C++ CTimeValue::SetValue怎么用?C++ CTimeValue::SetValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CTimeValue
的用法示例。
在下文中一共展示了CTimeValue::SetValue方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Update
void CallbackTimer::Update()
{
if (!m_timeouts.empty())
{
if (m_resort)
{
std::sort(m_timeouts.begin(), m_timeouts.end());
m_resort = false;
}
CTimeValue now = gEnv->pTimer->GetFrameStartTime();
while (!m_timeouts.empty() && (m_timeouts.front().timeout <= now))
{
TimeoutInfo timeout = m_timeouts.front();
m_timeouts.pop_front();
TimerInfo timer = m_timers[timeout.timerID];
timer.callback(timer.userdata, timeout.timerID);
if (m_timers.validate(timeout.timerID))
{
if (!timer.repeating)
m_timers.erase(timeout.timerID);
else
{
CTimeValue nextTimeout = timeout.timeout + timer.interval;
if (nextTimeout.GetValue() <= now.GetValue())
nextTimeout.SetValue(now.GetValue() + 1);
timeout.timeout = nextTimeout;
m_timeouts.push_back(timeout);
m_resort = true;
}
}
}
}
}