← API Reference Struct

asge::game::components::Transform

2D spatial transform — position, rotation, and scale.

#include <Transform.hpp>

m_Local* is the authored value, relative to components::Hierarchy's parent (or absolute, for a root entity) — this is what round-trips through Serializer<Transform> and what gameplay code should write. m_World* is the flattened, absolute result systems:: TransformPropagationSystem computes from it, and what rendering/ collision should read. Setting a Local field doesn't update World by itself — set m_Dirty too, so the next propagation pass picks it up.

Public Attributes

#math::Float2 m_LocalCoordinates {0.0f, 0.0f}
#math::Float2 m_LocalScale { 1.0f, 1.0f }
#float m_LocalRotation {0.0f}
#bool m_Locked {false}
#math::Float2 m_WorldCoordinates {0.0f, 0.0f}
#math::Float2 m_WorldScale { 1.0f, 1.0f }
#float m_WorldRotation {0.0f}
#bool m_Dirty {false}