3#include <Tempest/Matrix4x4>
6#include <zenkit/world/VobTree.hh>
23 Vob(
Vob* parent,
World& owner,
const zenkit::VirtualObject& vob,
Flags flags);
25 static std::unique_ptr<Vob>
load(
Vob* parent,
World&
world,
const zenkit::VirtualObject& vob,
Flags flags);
34 auto transform() const -> const Tempest::Matrix4x4& {
return pos; }
39 virtual bool setMobState(std::string_view scheme, int32_t st);
46 zenkit::VirtualObjectType
vobType = zenkit::VirtualObjectType::UNKNOWN;
52 std::vector<std::unique_ptr<Vob>> child;
54 Tempest::Matrix4x4 pos, local;
55 Vob* parent =
nullptr;
57 void recalculateTransform();
virtual void save(Serialize &fout) const
virtual bool setMobState(std::string_view scheme, int32_t st)
void loadVobTree(Serialize &fin)
virtual bool isDynamic() const
friend Flags operator|(Flags a, Flags b)
friend Flags operator~(Flags a)
zenkit::VirtualObjectType vobType
void setGlobalTransform(const Tempest::Matrix4x4 &p)
void setLocalTransform(const Tempest::Matrix4x4 &p)
static std::unique_ptr< Vob > load(Vob *parent, World &world, const zenkit::VirtualObject &vob, Flags flags)
auto localTransform() const -> const Tempest::Matrix4x4 &
friend Flags operator&(Flags a, Flags b)
void saveVobTree(Serialize &fin) const
auto transform() const -> const Tempest::Matrix4x4 &
Tempest::Vec3 position() const
virtual float extendedSearchRadius() const