1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-30 19:22:14 +00:00

remove request* and event* functions

rationale:
* it's just boilerplate, as these just fill out the structs. can also be done at call site
* they are usually only called at one place
* it would lead to many includes (or at least forward defs) in sscsm_controller.h and
  sscsm_environment.h
This commit is contained in:
Desour 2025-03-24 12:35:53 +01:00
parent c56b8d25cf
commit 322b65435b
5 changed files with 10 additions and 29 deletions

View file

@ -22,7 +22,11 @@ SSCSMEnvironment::~SSCSMEnvironment() = default;
void *SSCSMEnvironment::run()
{
while (true) {
auto next_event = requestPollNextEvent();
auto next_event = [&]{
auto request = SSCSMRequestPollNextEvent{};
auto answer = doRequest(std::move(request));
return std::move(answer.next_event);
}();
if (dynamic_cast<SSCSMEventTearDown *>(next_event.get())) {
break;
@ -67,18 +71,3 @@ void SSCSMEnvironment::setFatalError(const std::string &reason)
request.reason = reason;
doRequest(std::move(request));
}
std::unique_ptr<ISSCSMEvent> SSCSMEnvironment::requestPollNextEvent()
{
auto request = SSCSMRequestPollNextEvent{};
auto answer = doRequest(std::move(request));
return std::move(answer.next_event);
}
MapNode SSCSMEnvironment::requestGetNode(v3s16 pos)
{
auto request = SSCSMRequestGetNode{};
request.pos = pos;
auto answer = doRequest(std::move(request));
return answer.node;
}