mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +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
6f03d072ec
commit
272cd207b7
5 changed files with 10 additions and 29 deletions
|
@ -541,7 +541,11 @@ void Client::step(float dtime)
|
|||
*/
|
||||
LocalPlayer *player = m_env.getLocalPlayer();
|
||||
|
||||
m_sscsm_controller->eventOnStep(this, dtime);
|
||||
{
|
||||
auto event = std::make_unique<SSCSMEventOnStep>();
|
||||
event->dtime = dtime;
|
||||
m_sscsm_controller->runEvent(this, std::move(event));
|
||||
}
|
||||
|
||||
// Step environment (also handles player controls)
|
||||
m_env.step(dtime);
|
||||
|
|
|
@ -60,10 +60,3 @@ void SSCSMController::runEvent(Client *client, std::unique_ptr<ISSCSMEvent> even
|
|||
answer = handleRequest(client, request.get());
|
||||
}
|
||||
}
|
||||
|
||||
void SSCSMController::eventOnStep(Client *client, f32 dtime)
|
||||
{
|
||||
auto event = std::make_unique<SSCSMEventOnStep>();
|
||||
event->dtime = dtime;
|
||||
runEvent(client, std::move(event));
|
||||
}
|
||||
|
|
|
@ -32,6 +32,4 @@ public:
|
|||
|
||||
// Handles requests until the next event is polled
|
||||
void runEvent(Client *client, std::unique_ptr<ISSCSMEvent> event);
|
||||
|
||||
void eventOnStep(Client *client, f32 dtime);
|
||||
};
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -50,7 +50,4 @@ public:
|
|||
exchange(serializeSSCSMRequest(std::forward<RQ>(rq)))
|
||||
);
|
||||
}
|
||||
|
||||
std::unique_ptr<ISSCSMEvent> requestPollNextEvent();
|
||||
MapNode requestGetNode(v3s16 pos);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue