SimsWorld/ComponentBasic/VisibleBox.h

31 lines
803 B
C
Raw Normal View History

2025-05-31 03:57:32 +00:00
#pragma once
#include "componentbasic.h"
#include <messagebasic.h>
#include <QVariant>
/// <summary>
/// <20><><EFBFBD>ӻ<EFBFBD>3d<33><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
2025-06-08 12:17:02 +00:00
class COMPONENTBASIC_EXPORT VisibleCubePlugin : public ProcList<
2025-05-31 03:57:32 +00:00
WsRespond<Get3DBox, Box3DDesc>
>
{
private:
2025-06-08 12:17:02 +00:00
std::weak_ptr<WsEntity> _bind_entity;
2025-05-31 03:57:32 +00:00
D3Data _self_d3;
LLAPos _self_lla;
Posture _self_posture;
public:
2025-06-08 12:17:02 +00:00
explicit VisibleCubePlugin() = default;
2025-05-31 03:57:32 +00:00
// ͨ<><CDA8> ProcList <20>̳<EFBFBD>
2025-06-08 12:17:02 +00:00
void bindEntity(std::weak_ptr<WsEntity> ins) override;
2025-05-31 03:57:32 +00:00
QString name() const override;
2025-06-10 04:41:33 +00:00
void execute(std::shared_ptr<Immediate> map, std::shared_ptr<const Get3DBox> in, QList<std::shared_ptr<Box3DDesc>>& out) override;
2025-05-31 03:57:32 +00:00
std::shared_ptr<WsComponent> defaultNew() const override;
void recoveryFrom(const QJsonObject& obj) override;
void saveTo(QJsonObject& obj) const override;
};