Botcraft 1.21.4
Loading...
Searching...
No Matches
SleepUtilities.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <chrono>
4#include <functional>
5
6namespace Botcraft
7{
8 class BehaviourClient;
9}
10
11namespace Botcraft::Utilities
12{
13 void SleepUntil(const std::chrono::steady_clock::time_point& end);
14
15 template <class _Rep, class _Period>
16 void SleepFor(const std::chrono::duration<_Rep, _Period>& time)
17 {
18 SleepUntil(std::chrono::steady_clock::now() + time);
19 }
20
21 bool WaitForCondition(const std::function<bool()>& condition, const long long int timeout_ms = 0, const long long int check_interval_ms = 10);
22
23 bool YieldForCondition(const std::function<bool()>& condition, BehaviourClient& client, const long long int timeout_ms = 0);
24}
A ManagersClient extended with a blackboard that can store any kind of data and a virtual Yield funct...
bool YieldForCondition(const std::function< bool()> &condition, BehaviourClient &client, const long long int timeout_ms=0)
void SleepUntil(const std::chrono::steady_clock::time_point &end)
bool WaitForCondition(const std::function< bool()> &condition, const long long int timeout_ms=0, const long long int check_interval_ms=10)
void SleepFor(const std::chrono::duration< _Rep, _Period > &time)