Class ProxySceneFileObject#

Inheritance Relationships#

Base Types#

Class Documentation#

class ProxySceneFileObject : public Karana::Scene::SceneFileObject, public Karana::Scene::ProxySceneNode#

SceneFileObject acting as a proxy for client SceneFileObjects.

See Scene layer for more discussion on the scene layer.

Public Functions

ProxySceneFileObject(std::string_view name, const kc::ks_ptr<ProxyScene> &scene, const std::filesystem::path &filepath, layer_t layers, const Karana::Core::ks_ptr<ClientRegistry> &client_registry, const Karana::Core::ks_ptr<ImplDatabase> &impl_database)#

ProxySceneFileObject constructor.

Parameters:
virtual ~ProxySceneFileObject()#

Destructor.

Karana::Core::ks_ptr<SceneFileObject> of(Scene &scene) const#

Get the implementation for a given client.

Parameters:

scene – - The client scene

Returns:

The implementation of this node for the client

Public Static Functions

static kc::ks_ptr<ProxySceneFileObject> create(std::string_view name, const kc::ks_ptr<ProxyScene> &scene, const std::filesystem::path &filepath, layer_t layers = LAYER_PHYSICAL)#

Create a ProxySceneFileObject.

Parameters:
Returns:

The new ProxyScene part.

Protected Functions

virtual Karana::Core::ks_ptr<Karana::Core::BaseVars> _getVars() const override#

Create the vars for this object.

Returns:

The vars for this object.

virtual void _implement(Scene &scene) override#

Create the implementation for a client scene.

This is called automatically as needed and shouldn’t need to be called outside of ProxyScene internals.

Parameters:

scene – - The client to create an implementation for.

virtual void _unimplement(Scene &scene) override#

Destroy the implementation for a client scene.

This is called automatically as needed and shouldn’t need to be called outside of ProxyScene internals.

Parameters:

scene – - The client to destroy the implementation for.