VoxelEngine
 
Loading...
Searching...
No Matches
engine::BlockState Class Reference
Inheritance diagram for engine::BlockState:
engine::ISerializable

Public Types

using Value = std::variant< bool, int, unsigned int, float, glm::vec3, glm::ivec3 >
 

Public Member Functions

const glm::vec3 & facing () const
 
template<typename T >
requires is_value_type_v<T>
void set (const std::string &name, const T &value)
 
template<typename T >
requires is_value_type_v<T>
std::optional< T > get (const std::string &name) const
 
void serialize (std::ostream &out) const override
 
void deserialize (std::istream &in) override
 

Static Public Member Functions

static BlockState makeRotation (glm::vec3 facing)
 

Protected Attributes

glm::vec3 m_facing
 
float m_rotation = 0.0f
 
std::unordered_map< std::string, Value > m_properties
 

Member Function Documentation

◆ deserialize()

void BlockState::deserialize ( std::istream &  in)
overridevirtual

Implements engine::ISerializable.

◆ serialize()

void BlockState::serialize ( std::ostream &  out) const
overridevirtual

Implements engine::ISerializable.

Member Data Documentation

◆ m_rotation

float engine::BlockState::m_rotation = 0.0f
protected
Note
rotation around facing axis

The documentation for this class was generated from the following files: