From 44e2e4373d0a24485af53caa4fb7bd832396627d Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 25 May 2023 13:47:45 +0800 Subject: [PATCH] 1 --- server/gameserver/mtb/MapThingGroup.h | 31 +++++++++++++++++++++++++++ server/gameserver/mtb/mtb.all.cc | 13 +++++++++++ server/tools/protobuild/mt.proto | 7 ++++++ 3 files changed, 51 insertions(+) create mode 100644 server/gameserver/mtb/MapThingGroup.h diff --git a/server/gameserver/mtb/MapThingGroup.h b/server/gameserver/mtb/MapThingGroup.h new file mode 100644 index 00000000..a06c3b71 --- /dev/null +++ b/server/gameserver/mtb/MapThingGroup.h @@ -0,0 +1,31 @@ +#pragma once + +#include + +namespace mtb +{ + + class MapThingGroup + { + public: + + a8::reflect::Class* GetClass() const; + int mtGroupId() const { return mtGroupId_; }; + const std::string rule() const { return rule_; }; + const std::string mapThings() const { return mapThings_; }; + + bool has_mtGroupId() const { return __flags__.test(0);}; + bool has_rule() const { return __flags__.test(1);}; + bool has_mapThings() const { return __flags__.test(2);}; + + protected: + + int mtGroupId_ = 0; + std::string rule_; + std::string mapThings_; + +public: + std::bitset<3> __flags__; + }; + +}; diff --git a/server/gameserver/mtb/mtb.all.cc b/server/gameserver/mtb/mtb.all.cc index fc255b26..d92a7489 100644 --- a/server/gameserver/mtb/mtb.all.cc +++ b/server/gameserver/mtb/mtb.all.cc @@ -39,6 +39,7 @@ #include "mtb/GuideStep.h" #include "mtb/WorldObject.h" #include "mtb/MergeItem.h" +#include "mtb/MapThingGroup.h" namespace mtb { @@ -833,4 +834,16 @@ namespace mtb return meta_class; } + a8::reflect::Class* MapThingGroup::GetClass() const + { + a8::reflect::Class* meta_class = nullptr; + if (!meta_class) { + meta_class = new a8::reflect::Class("MapThingGroup", 3, 0); + meta_class->SetSimpleField(0, "mtGroupId", a8::reflect::ET_INT32, my_offsetof2(MapThingGroup, mtGroupId_)); + meta_class->SetSimpleField(1, "rule", a8::reflect::ET_STRING, my_offsetof2(MapThingGroup, rule_)); + meta_class->SetSimpleField(2, "mapThings", a8::reflect::ET_STRING, my_offsetof2(MapThingGroup, mapThings_)); + } + return meta_class; + } + } diff --git a/server/tools/protobuild/mt.proto b/server/tools/protobuild/mt.proto index db8d596c..ed3dfd8c 100755 --- a/server/tools/protobuild/mt.proto +++ b/server/tools/protobuild/mt.proto @@ -618,4 +618,11 @@ message MergeItem optional string pickup3 = 3; optional string pickup6 = 4; optional string pickup9 = 5; +} + +message MapThingGroup +{ + optional int32 mtGroupId = 1; + optional string rule = 2; + optional string mapThings = 3; } \ No newline at end of file