1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

NodeResolver: Remove NodeResolveMethod

This simplifies NodeResolver logic and makes some interfaces cleaner.
This commit is contained in:
kwolekr 2015-05-07 02:34:15 -04:00
parent d720fd5644
commit 656575b59d
9 changed files with 103 additions and 169 deletions

View file

@ -406,7 +406,7 @@ public:
inline virtual bool getNodeRegistrationStatus() const;
inline virtual void setNodeRegistrationStatus(bool completed);
virtual void pendNodeResolve(NodeResolver *nr, NodeResolveMethod how);
virtual void pendNodeResolve(NodeResolver *nr);
virtual bool cancelNodeResolveCallback(NodeResolver *nr);
virtual void runNodeResolveCallbacks();
virtual void resetNodeResolveState();
@ -1294,23 +1294,13 @@ inline void CNodeDefManager::setNodeRegistrationStatus(bool completed)
}
void CNodeDefManager::pendNodeResolve(NodeResolver *nr, NodeResolveMethod how)
void CNodeDefManager::pendNodeResolve(NodeResolver *nr)
{
nr->m_ndef = this;
switch (how) {
case NODE_RESOLVE_NONE:
break;
case NODE_RESOLVE_DIRECT:
if (m_node_registration_complete)
nr->nodeResolveInternal();
break;
case NODE_RESOLVE_DEFERRED:
if (m_node_registration_complete)
nr->nodeResolveInternal();
else
m_pending_resolve_callbacks.push_back(nr);
break;
}
else
m_pending_resolve_callbacks.push_back(nr);
}
@ -1385,19 +1375,6 @@ void NodeResolver::nodeResolveInternal()
}
const std::string &NodeResolver::getNodeName(content_t c) const
{
if (c < m_nodenames.size())
return m_nodenames[c];
if (m_ndef)
return m_ndef->get(c).name;
static const std::string unknown_str("unknown");
return unknown_str;
}
bool NodeResolver::getIdFromNrBacklog(content_t *result_out,
const std::string &node_alt, content_t c_fallback)
{