Class World
Defined in File World.hpp
Inheritance Relationships
Base Type
public Cacao::Resource
(Class Resource)
Class Documentation
-
class World : public Cacao::Resource
A collection of entities and a camera comprising an area of gameplay.
Warning
If there are still outstanding references to contained Actors when the destructor is called, it may not be able to prevent memory leaks and the Actor will probably be in a broken state.
Public Functions
-
void ReparentToRoot(ActorHandle actor)
Set an actor’s parent to the root actor (adding it to the world if it wasn’t already)
- Parameters:
actor – The actor to reparent
-
std::vector<ActorHandle> GetRootChildren() const
Get all entities that are direct children of the root actor.
-
template<typename P>
inline std::optional<ActorHandle> FindActor(P predicate) const Find an Actor by some arbitrary condition.
- Parameters:
predicate – The predicate to check each actor against
- Returns:
An optional that contains the actor if it was found
Public Members
-
std::shared_ptr<Cubemap> skyboxTex
Cube texture to use as the skybox.
Public Static Functions
-
static inline std::shared_ptr<World> Create(const std::string &addr)
Create a new blank world.
- Parameters:
addr – The resource address to associate with the world
- Throws:
BadValueException – If the address is malformed
-
void ReparentToRoot(ActorHandle actor)