update Duration
This commit is contained in:
parent
cdadb695e4
commit
d8309c1a75
|
|
@ -70,7 +70,7 @@ void ImGuiModule::OnUpdate(UpdateModuleContext& ctx)
|
|||
ImGuiIO& io = ImGui::GetIO();
|
||||
|
||||
// Setup time step
|
||||
io.DeltaTime = ctx.dt.Seconds();
|
||||
io.DeltaTime = ctx.dt.GetSeconds();
|
||||
|
||||
// Read keyboard modifiers inputs
|
||||
io.KeyCtrl = Input::GetInstance().IsDown(KeyCode::Ctrl);
|
||||
|
|
|
|||
|
|
@ -350,7 +350,7 @@ void PhysicWorld::OnUpdate(Duration dt)
|
|||
BeforeSimulation(world_actor, Matrix3x2(), 0.0f);
|
||||
|
||||
// Update physic world
|
||||
world_.Step(dt.Seconds(), vel_iter_, pos_iter_);
|
||||
world_.Step(dt.GetSeconds(), vel_iter_, pos_iter_);
|
||||
|
||||
AfterSimulation(world_actor, Matrix3x2(), 0.0f);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ void DebugActor::OnUpdate(Duration dt)
|
|||
|
||||
const auto& status = Renderer::GetInstance().GetContext().GetStatus();
|
||||
|
||||
ss << "Render: " << status.duration.Milliseconds() << "ms" << std::endl;
|
||||
ss << "Render: " << status.duration.GetMilliseconds() << "ms" << std::endl;
|
||||
|
||||
ss << "Primitives / sec: " << std::fixed << status.primitives * frame_buffer_.Size() << std::endl;
|
||||
|
||||
|
|
|
|||
|
|
@ -43,23 +43,23 @@ Time::Time(int64_t dur)
|
|||
|
||||
const Time Time::operator+(const Duration& dur) const
|
||||
{
|
||||
return Time{ dur_ + dur.Milliseconds() };
|
||||
return Time{ dur_ + dur.GetMilliseconds() };
|
||||
}
|
||||
|
||||
const Time Time::operator-(const Duration& dur) const
|
||||
{
|
||||
return Time{ dur_ - dur.Milliseconds() };
|
||||
return Time{ dur_ - dur.GetMilliseconds() };
|
||||
}
|
||||
|
||||
Time& Time::operator+=(const Duration& other)
|
||||
{
|
||||
dur_ += other.Milliseconds();
|
||||
dur_ += other.GetMilliseconds();
|
||||
return (*this);
|
||||
}
|
||||
|
||||
Time& Time::operator-=(const Duration& other)
|
||||
{
|
||||
dur_ -= other.Milliseconds();
|
||||
dur_ -= other.GetMilliseconds();
|
||||
return (*this);
|
||||
}
|
||||
|
||||
|
|
@ -160,23 +160,23 @@ const Duration ClockTime::operator-(const ClockTime& other) const
|
|||
|
||||
const ClockTime ClockTime::operator+(const Duration& dur) const
|
||||
{
|
||||
return ClockTime{ ms_since_epoch_ + dur.Milliseconds() };
|
||||
return ClockTime{ ms_since_epoch_ + dur.GetMilliseconds() };
|
||||
}
|
||||
|
||||
const ClockTime ClockTime::operator-(const Duration& dur) const
|
||||
{
|
||||
return ClockTime{ ms_since_epoch_ - dur.Milliseconds() };
|
||||
return ClockTime{ ms_since_epoch_ - dur.GetMilliseconds() };
|
||||
}
|
||||
|
||||
ClockTime& ClockTime::operator+=(const Duration& other)
|
||||
{
|
||||
ms_since_epoch_ += other.Milliseconds();
|
||||
ms_since_epoch_ += other.GetMilliseconds();
|
||||
return (*this);
|
||||
}
|
||||
|
||||
ClockTime& ClockTime::operator-=(const Duration& other)
|
||||
{
|
||||
ms_since_epoch_ -= other.Milliseconds();
|
||||
ms_since_epoch_ -= other.GetMilliseconds();
|
||||
return (*this);
|
||||
}
|
||||
|
||||
|
|
@ -210,21 +210,21 @@ Duration::Duration(int64_t milliseconds)
|
|||
{
|
||||
}
|
||||
|
||||
float Duration::Seconds() const
|
||||
float Duration::GetSeconds() const
|
||||
{
|
||||
auto sec = milliseconds_ / Second.milliseconds_;
|
||||
auto ms = milliseconds_ % Second.milliseconds_;
|
||||
return static_cast<float>(sec + ms) / 1000.f;
|
||||
}
|
||||
|
||||
float Duration::Minutes() const
|
||||
float Duration::GetMinutes() const
|
||||
{
|
||||
auto min = milliseconds_ / Minute.milliseconds_;
|
||||
auto ms = milliseconds_ % Minute.milliseconds_;
|
||||
return static_cast<float>(min + ms) / (60 * 1000.f);
|
||||
}
|
||||
|
||||
float Duration::Hours() const
|
||||
float Duration::GetHours() const
|
||||
{
|
||||
auto hour = milliseconds_ / Hour.milliseconds_;
|
||||
auto ms = milliseconds_ % Hour.milliseconds_;
|
||||
|
|
|
|||
|
|
@ -31,14 +31,15 @@ namespace kiwano
|
|||
* @par
|
||||
* 时间段表示法:
|
||||
* @code
|
||||
* time::Second * 5 // 5 秒
|
||||
* time::Hour * 1.5 // 1.5 小时
|
||||
* time::Hour * 3 + time::Minute * 45 + time::Second * 15 // 3 小时 45 分 15
|
||||
* 秒
|
||||
* Duration::Ms * 50 // 50 毫秒
|
||||
* Duration::Second * 5 // 5 秒
|
||||
* Duration::Hour * 1.5 // 1.5 小时
|
||||
* Duration::Hour * 3 + Duration::Minute * 45 + Duration::Second * 15 // 3 小时 45 分 15秒
|
||||
* @endcode
|
||||
* 在 VS2015 及更高版本可以使用 time literals:
|
||||
* @code
|
||||
* using namespace kiwano;
|
||||
* 50_msec // 50 毫秒
|
||||
* 5_sec // 5 秒
|
||||
* 1.5_hour // 1.5 小时
|
||||
* 3_hour + 45_min + 15_sec // 3 小时 45 分 15 秒
|
||||
|
|
@ -57,19 +58,19 @@ struct KGE_API Duration
|
|||
|
||||
/// \~chinese
|
||||
/// @brief 获取毫秒数
|
||||
int64_t Milliseconds() const;
|
||||
int64_t GetMilliseconds() const;
|
||||
|
||||
/// \~chinese
|
||||
/// @brief 获取秒数
|
||||
float Seconds() const;
|
||||
float GetSeconds() const;
|
||||
|
||||
/// \~chinese
|
||||
/// @brief 获取分钟数
|
||||
float Minutes() const;
|
||||
float GetMinutes() const;
|
||||
|
||||
/// \~chinese
|
||||
/// @brief 获取小时数
|
||||
float Hours() const;
|
||||
float GetHours() const;
|
||||
|
||||
/// \~chinese
|
||||
/// @brief 时长是否是零
|
||||
|
|
@ -171,7 +172,7 @@ private:
|
|||
* Time t1 = Time::Now();
|
||||
* // 等待一段时间后
|
||||
* Time t2 = Time::Now();
|
||||
* int ms = (t2 - t1).Milliseconds(); // 获取两时间相差的毫秒数
|
||||
* int ms = (t2 - t1).GetMilliseconds(); // 获取两时间相差的毫秒数
|
||||
* @endcode
|
||||
* @note 时间点与系统时钟无关,因此不能将时间点转化为时分秒
|
||||
*/
|
||||
|
|
@ -246,7 +247,7 @@ private:
|
|||
int64_t ms_since_epoch_;
|
||||
};
|
||||
|
||||
inline int64_t Duration::Milliseconds() const
|
||||
inline int64_t Duration::GetMilliseconds() const
|
||||
{
|
||||
return milliseconds_;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ bool Runner::MainLoop(Duration dt)
|
|||
// Releases CPU
|
||||
Duration total_dt = frame_ticker_->GetDeltaTime() + frame_ticker_->GetErrorTime();
|
||||
Duration sleep_dt = frame_ticker_->GetInterval() - total_dt;
|
||||
if (sleep_dt.Milliseconds() > 1LL)
|
||||
if (sleep_dt.GetMilliseconds() > 1LL)
|
||||
{
|
||||
sleep_dt.Sleep();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue