diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2021-04-29 09:07:36 +0200 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2021-05-03 19:49:19 +0200 |
commit | 809e68fdc0f7855730ee3409e6f1ddfe975b671f (patch) | |
tree | 4d132940fe3dd48f8044cae2c7f9ef287ee9eb25 /src/client/clientobject.h | |
parent | 1bc855646e2c920c1df55bb73416f72295c020f4 (diff) | |
download | minetest-809e68fdc0f7855730ee3409e6f1ddfe975b671f.tar.gz minetest-809e68fdc0f7855730ee3409e6f1ddfe975b671f.tar.bz2 minetest-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 'src/client/clientobject.h')
-rw-r--r-- | src/client/clientobject.h | 6 |
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) {} |