SimsWorld/ComponentBasic/VisibleCube.h

40 lines
1.3 KiB
C
Raw Permalink Normal View History

2025-05-31 03:57:32 +00:00
#pragma once
#include "componentbasic.h"
#include <messagebasic.h>
#include <QVariant>
2025-06-28 17:38:37 +00:00
#include <visiblecube_access.h>
2025-05-31 03:57:32 +00:00
/// <summary>
/// <20><><EFBFBD>ӻ<EFBFBD>3d<33><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
2025-06-28 17:38:37 +00:00
class COMPONENTBASIC_EXPORT VisibleCubePlugin :
public RespondRoute<
2025-06-14 04:52:05 +00:00
WsRespond<Get3DBox, Box3DDesc>,
WsRespond<Set3DBoxD3Data, RespondDefault>,
WsRespond<Set3DBoxLLAPos, RespondDefault>,
2025-06-28 17:38:37 +00:00
WsRespond<Set3DBoxPosture, RespondDefault>>,
public RequestRoute<>
2025-05-31 03:57:32 +00:00
{
public:
2025-06-08 12:17:02 +00:00
std::weak_ptr<WsEntity> _bind_entity;
2025-06-14 05:07:51 +00:00
VolumeData _self_d3;
2025-06-21 07:56:59 +00:00
LonLatAlt _self_lla;
2025-05-31 03:57:32 +00:00
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-28 17:38:37 +00:00
void execute(std::shared_ptr<const Get3DBox> in, QList<std::shared_ptr<Box3DDesc>>& out) override;
2025-06-14 04:52:05 +00:00
2025-06-28 17:38:37 +00:00
void execute(std::shared_ptr<const Set3DBoxD3Data> in, QList<std::shared_ptr<RespondDefault>>& out) override;
void execute(std::shared_ptr<const Set3DBoxLLAPos> in, QList<std::shared_ptr<RespondDefault>>& out) override;
void execute(std::shared_ptr<const Set3DBoxPosture> in, QList<std::shared_ptr<RespondDefault>>& out) override;
2025-05-31 03:57:32 +00:00
2025-06-28 17:38:37 +00:00
std::shared_ptr<Serializable> newDefault() const override;
2025-05-31 03:57:32 +00:00
void recoveryFrom(const QJsonObject& obj) override;
void saveTo(QJsonObject& obj) const override;
};