aboutsummaryrefslogtreecommitdiff
path: root/src/client/clientobject.h
diff options
context:
space:
mode:
authorLoic Blot <loic.blot@unix-experience.fr>2021-04-29 09:07:36 +0200
committerLoïc Blot <nerzhul@users.noreply.github.com>2021-05-03 19:49:19 +0200
commit809e68fdc0f7855730ee3409e6f1ddfe975b671f (patch)
tree4d132940fe3dd48f8044cae2c7f9ef287ee9eb25 /src/client/clientobject.h
parent1bc855646e2c920c1df55bb73416f72295c020f4 (diff)
downloadhax-minetest-server-809e68fdc0f7855730ee3409e6f1ddfe975b671f.tar.gz
hax-minetest-server-809e68fdc0f7855730ee3409e6f1ddfe975b671f.zip
refacto: don't use RenderingEngine singleton on CAO
* we don't need on CAO side more than SceneManager, and temporary. Pass only required SceneManager as a parameter to build CAO and add them to the current scene * Use temporary the RenderingEngine singleton from ClientEnvironment, waitfor for better solution * Make ClientActiveObject::addToScene virtual function mandatory to be defined by children to ensure we don't forget to properly define it
Diffstat (limited to '')
-rw-r--r--src/client/clientobject.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/client/clientobject.h b/src/client/clientobject.h
index ecd8059ef..dbc2f22cf 100644
--- a/src/client/clientobject.h
+++ b/src/client/clientobject.h
@@ -33,13 +33,17 @@ class LocalPlayer;
struct ItemStack;
class WieldMeshSceneNode;
+namespace irr { namespace scene {
+ class ISceneManager;
+}}
+
class ClientActiveObject : public ActiveObject
{
public:
ClientActiveObject(u16 id, Client *client, ClientEnvironment *env);
virtual ~ClientActiveObject();
- virtual void addToScene(ITextureSource *tsrc) {}
+ virtual void addToScene(ITextureSource *tsrc, irr::scene::ISceneManager *smgr) = 0;
virtual void removeFromScene(bool permanent) {}
virtual void updateLight(u32 day_night_ratio) {}