// Copyright (C) 2024 Jérôme "SirLynix" Leclercq (lynix680@gmail.com) // This file is part of the "Nazara Engine - Core module" // For conditions of distribution and use, see copyright notice in Export.hpp #pragma once #ifndef NAZARA_CORE_CLOCK_HPP #define NAZARA_CORE_CLOCK_HPP #include #include #include #include namespace Nz { template class Clock { public: Clock(Time startingValue = Time::Zero(), bool paused = false); Clock(const Clock& clock) = default; Clock(Clock&& clock) noexcept = default; ~Clock() = default; Time GetElapsedTime() const; bool IsPaused() const; void Pause(); Time Restart(Time startingPoint = Time::Zero(), bool paused = false); std::optional