SimsWorld/ComponentBasic/VisibleBox.h

31 lines
740 B
C++

#pragma once
#include "componentbasic.h"
#include <messagebasic.h>
#include <QVariant>
/// <summary>
/// ¿ÉÊÓ»¯3dÌå»ýºÐ
/// </summary>
class COMPONENTBASIC_EXPORT Visible3DPlugin : public ProcList<
WsRespond<Get3DBox, Box3DDesc>
>
{
private:
uint64_t _bind_entity = 0;
D3Data _self_d3;
LLAPos _self_lla;
Posture _self_posture;
public:
explicit Visible3DPlugin() = default;
// ͨ¹ý ProcList ¼Ì³Ð
void bindEntity(uint64_t entity_id) override;
QString name() const override;
void execute(std::shared_ptr<const Get3DBox> in, std::shared_ptr<Box3DDesc>& out) override;
std::shared_ptr<WsComponent> defaultNew() const override;
void recoveryFrom(const QJsonObject& obj) override;
void saveTo(QJsonObject& obj) const override;
};