102 lines
2.7 KiB
C++
102 lines
2.7 KiB
C++
#pragma once
|
|
#include "messagebasic.h"
|
|
|
|
|
|
/// <summary>
|
|
/// 查询系统中的组件类型和实体类型
|
|
/// </summary>
|
|
struct MESSAGEBASIC_EXPORT TypesQuery : public AbstractMessage {
|
|
TypesQuery();
|
|
std::shared_ptr<Serializable> newDefault() const override;
|
|
};
|
|
|
|
/// <summary>
|
|
/// 返回系统内所有的组件类型和实体模板类型
|
|
/// </summary>
|
|
struct MESSAGEBASIC_EXPORT TypesQueryResult : public AbstractMessage {
|
|
QStringList _component_types;
|
|
QHash<QString, uint64_t> _entity_templets;
|
|
|
|
TypesQueryResult();
|
|
// 通过 WsMessage 继承
|
|
std::shared_ptr<Serializable> newDefault() const override;
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
void saveTo(QJsonObject& obj) const override;
|
|
};
|
|
|
|
|
|
/// <summary>
|
|
/// 操作类型
|
|
/// </summary>
|
|
enum class EntityOperateType {
|
|
NEW, DELETE, MODIFY
|
|
};
|
|
/// <summary>
|
|
/// 模板操作支持增、删、改
|
|
/// </summary>
|
|
struct MESSAGEBASIC_EXPORT TempletOperate : public AbstractMessage {
|
|
uint64_t _operate_code = (uint64_t)EntityOperateType::NEW;
|
|
QString _template_name = "";
|
|
uint64_t _template_id_within_0x2ff_0xffff = 0x2ff;
|
|
|
|
TempletOperate();
|
|
|
|
// 通过 WsMessage 继承
|
|
std::shared_ptr<Serializable> newDefault() const override;
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
void saveTo(QJsonObject& obj) const override;
|
|
};
|
|
|
|
/// <summary>
|
|
/// 实体构造操作
|
|
/// </summary>
|
|
struct MESSAGEBASIC_EXPORT EntityOperate : public AbstractMessage {
|
|
uint64_t _operate_code = (uint64_t)EntityOperateType::NEW;
|
|
QString _template_name = "";
|
|
QString _entity_name = "";
|
|
uint64_t _entity_id_over_0xffff = 0xffff;
|
|
|
|
EntityOperate();
|
|
|
|
// 通过 WsMessage 继承
|
|
std::shared_ptr<Serializable> newDefault() const override;
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
void saveTo(QJsonObject& obj) const override;
|
|
};
|
|
|
|
/// <summary>
|
|
/// 对指定实体的组件进行操作
|
|
/// </summary>
|
|
struct MESSAGEBASIC_EXPORT ComponentOperate : public AbstractMessage {
|
|
uint64_t _entity_id_within_0x2ff_0xffffffffffffffff = 0x2ff;
|
|
QStringList _component_types;
|
|
|
|
ComponentOperate();
|
|
|
|
// 通过 WsMessage 继承
|
|
std::shared_ptr<Serializable> newDefault() const override;
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
void saveTo(QJsonObject& obj) const override;
|
|
};
|
|
|
|
/// <summary>
|
|
/// 获取所有实体句柄
|
|
/// </summary>
|
|
struct MESSAGEBASIC_EXPORT EntityTotalGet : public AbstractMessage {
|
|
EntityTotalGet();
|
|
std::shared_ptr<Serializable> newDefault() const override;
|
|
};
|
|
|
|
/// <summary>
|
|
/// 所有实体列表
|
|
/// </summary>
|
|
struct MESSAGEBASIC_EXPORT EntityTotalList : public AbstractMessage {
|
|
QList<uint64_t> _entities_list;
|
|
|
|
EntityTotalList();
|
|
|
|
// 通过 WsMessage 继承
|
|
std::shared_ptr<Serializable> newDefault() const override;
|
|
void recoveryFrom(const QJsonObject& obj) override;
|
|
void saveTo(QJsonObject& obj) const override;
|
|
}; |