Nameless Engine
|
#include <EnvironmentNode.h>
Public Member Functions | |
EnvironmentNode (const std::string &sNodeName) | |
void | setAmbientLight (const glm::vec3 &ambientLight) |
glm::vec3 | getAmbientLight () const |
Public Member Functions inherited from ne::Node | |
Node () | |
Node (const std::string &sName) | |
Node (const Node &)=delete | |
Node & | operator= (const Node &)=delete |
Node (Node &&)=delete | |
Node & | operator= (Node &&)=delete |
virtual | ~Node () override |
void | setNodeName (const std::string &sName) |
void | detachFromParentAndDespawn () |
void | addChildNode (const sgc::GcPtr< Node > &pNode, AttachmentRule locationRule=AttachmentRule::KEEP_WORLD, AttachmentRule rotationRule=AttachmentRule::KEEP_WORLD, AttachmentRule scaleRule=AttachmentRule::KEEP_WORLD) |
void | setSerialize (bool bSerialize) |
std::optional< Error > | serializeNodeTree (const std::filesystem::path &pathToFile, bool bEnableBackup) |
std::string | getNodeName () const |
sgc::GcPtr< Node > | getWorldRootNode () |
std::pair< std::recursive_mutex, sgc::GcPtr< Node > > * | getParentNode () |
std::pair< std::recursive_mutex, sgc::GcVector< sgc::GcPtr< Node > > > * | getChildNodes () |
template<typename NodeType > requires std::derived_from<NodeType, Node> | |
sgc::GcPtr< NodeType > | getParentNodeOfType (const std::string &sParentNodeName="") |
template<typename NodeType > requires std::derived_from<NodeType, Node> | |
sgc::GcPtr< NodeType > | getChildNodeOfType (const std::string &sChildNodeName="") |
TickGroup | getTickGroup () const |
std::optional< size_t > | getNodeId () const |
bool | isCalledEveryFrame () |
bool | isReceivingInput () |
bool | isSpawned () |
bool | isParentOf (Node *pNode) |
bool | isChildOf (Node *pNode) |
bool | isSerialized () const |
Public Member Functions inherited from ne::Serializable | |
std::optional< Error > | serialize (std::filesystem::path pathToFile, bool bEnableBackup, const std::unordered_map< std::string, std::string > &customAttributes={}) |
std::variant< std::string, Error > | serialize (toml::value &tomlData, const std::string &sEntityId="", const std::unordered_map< std::string, std::string > &customAttributes={}, const std::optional< std::filesystem::path > &optionalPathToFile={}, bool bEnableBackup=false) |
std::variant< std::string, Error > | serialize (toml::value &tomlData, Serializable *pOriginalObject, std::string sEntityId="", const std::unordered_map< std::string, std::string > &customAttributes={}, const std::optional< std::filesystem::path > &optionalPathToFile={}, bool bEnableBackup=false) |
std::optional< std::pair< std::string, std::string > > | getPathDeserializedFromRelativeToRes () const |
Protected Member Functions | |
virtual void | onSpawning () override |
virtual void | onDespawning () override |
Protected Member Functions inherited from ne::Node | |
void | setIsCalledEveryFrame (bool bEnable) |
void | setTickGroup (TickGroup tickGroup) |
void | setIsReceivingInput (bool bEnable) |
Timer * | createTimer (const std::string &sTimerName) |
template<typename FunctionType > | |
NodeNotificationBroadcaster< FunctionType > * | createNotificationBroadcaster () |
std::pair< std::recursive_mutex, std::unordered_map< unsigned int, std::function< void(KeyboardModifiers, bool)> > > * | getActionEventBindings () |
std::pair< std::recursive_mutex, std::unordered_map< unsigned int, std::function< void(KeyboardModifiers, float)> > > * | getAxisEventBindings () |
std::recursive_mutex * | getSpawnDespawnMutex () |
virtual void | onMouseMove (double xOffset, double yOffset) |
virtual void | onMouseScrollMove (int iOffset) |
virtual void | onBeforeNewFrame (float timeSincePrevFrameInSec) |
virtual void | onSpawning () |
virtual void | onChildNodesSpawned () |
virtual void | onDespawning () |
virtual void | onBeforeDetachedFromParent (bool bThisNodeBeingDetached) |
virtual void | onAfterAttachedToNewParent (bool bThisNodeBeingAttached) |
Protected Member Functions inherited from ne::Serializable | |
virtual void | onAfterDeserialized () |
Private Attributes | |
glm::vec3 | ambientLight = glm::vec3(0.0F, 0.0F, 0.0F) |
Additional Inherited Members | |
Public Types inherited from ne::Node | |
enum class | AttachmentRule { RESET_RELATIVE , KEEP_RELATIVE , KEEP_WORLD } |
Static Public Member Functions inherited from ne::Node | |
static size_t | getAliveNodeCount () |
static std::variant< sgc::GcPtr< Node >, Error > | deserializeNodeTree (const std::filesystem::path &pathToFile) |
static GameInstance * | getGameInstance () |
Static Public Member Functions inherited from ne::Serializable | |
static std::variant< std::pair< std::set< std::string >, toml::value >, Error > | getIdsFromFile (std::filesystem::path pathToFile) |
static std::optional< Error > | serializeMultiple (std::filesystem::path pathToFile, std::vector< SerializableObjectInformation > vObjects, bool bEnableBackup) |
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type> requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) | |
static std::variant< SmartPointer, Error > | deserialize (const std::filesystem::path &pathToFile) |
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type> requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) | |
static std::variant< SmartPointer, Error > | deserialize (const std::filesystem::path &pathToFile, std::unordered_map< std::string, std::string > &customAttributes) |
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type> requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) | |
static std::variant< SmartPointer, Error > | deserialize (std::filesystem::path pathToFile, std::unordered_map< std::string, std::string > &customAttributes, const std::string &sEntityId) |
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type> requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) | |
static std::variant< SmartPointer, Error > | deserialize (const std::filesystem::path &pathToFile, const std::string &sEntityId) |
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type> requires std::same_as<SmartPointer, sgc::GcPtr<Serializable>> || std::same_as<SmartPointer, std::unique_ptr<Serializable>> | |
static std::variant< std::vector< DeserializedObjectInformation< SmartPointer > >, Error > | deserializeMultiple (std::filesystem::path pathToFile) |
template<typename SmartPointer , typename InnerType = typename SmartPointer::element_type> requires std::derived_from<InnerType, Serializable> && (std::same_as<SmartPointer, sgc::GcPtr<InnerType>> || std::same_as<SmartPointer, std::unique_ptr<InnerType>>) | |
static std::variant< SmartPointer, Error > | deserialize (const toml::value &tomlData, std::unordered_map< std::string, std::string > &customAttributes, std::string sEntityId="", const std::optional< std::filesystem::path > &optionalPathToFile={}) |
Allows configuring environment settings such as ambient light, skybox, etc.
ne::EnvironmentNode::EnvironmentNode | ( | const std::string & | sNodeName | ) |
Creates a new node with the specified name.
sNodeName | Name of this node. |
glm::vec3 ne::EnvironmentNode::getAmbientLight | ( | ) | const |
Returns ambient light color intensity.
|
overrideprotectedvirtual |
Called before this node is despawned from the world to execute custom despawn logic.
Reimplemented from ne::Node.
|
overrideprotectedvirtual |
Called when this node was not spawned previously and it was either attached to a parent node that is spawned or set as world's root node to execute custom spawn logic.
Reimplemented from ne::Node.
void ne::EnvironmentNode::setAmbientLight | ( | const glm::vec3 & | ambientLight | ) |
Sets intensity and color of the ambient lighting.
ambientLight | Light color intensity in RGB format in range [0.0; 1.0]. |
|
private |
Intensity and color of the ambient lighting.