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:
parent
c56b8d25cf
commit
322b65435b
5 changed files with 10 additions and 29 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue