From 79cec6926311f92b9e98abc9e156cb9c64f4bce2 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 18 May 2023 11:45:09 +0800 Subject: [PATCH] 1 --- server/gameserver/mt/MergeItem.cc | 14 ++++++++++++ server/gameserver/mt/MergeItem.h | 19 ++++++++++++++++ server/gameserver/mt/MetaMgr.cc | 2 ++ server/gameserver/mtb/MergeItem.h | 37 +++++++++++++++++++++++++++++++ server/gameserver/mtb/mtb.all.cc | 15 +++++++++++++ server/tools/protobuild/mt.proto | 9 ++++++++ 6 files changed, 96 insertions(+) create mode 100644 server/gameserver/mt/MergeItem.cc create mode 100644 server/gameserver/mt/MergeItem.h create mode 100644 server/gameserver/mtb/MergeItem.h diff --git a/server/gameserver/mt/MergeItem.cc b/server/gameserver/mt/MergeItem.cc new file mode 100644 index 00000000..9b58fbc8 --- /dev/null +++ b/server/gameserver/mt/MergeItem.cc @@ -0,0 +1,14 @@ +#include "precompile.h" + +#include "mt/MergeItem.h" + +IMPL_TABLE(mt::MergeItem) + +namespace mt +{ + + void MergeItem::Init1() + { + } + +} diff --git a/server/gameserver/mt/MergeItem.h b/server/gameserver/mt/MergeItem.h new file mode 100644 index 00000000..9eea4895 --- /dev/null +++ b/server/gameserver/mt/MergeItem.h @@ -0,0 +1,19 @@ +#pragma once + +#include "mt/macro.h" +#include "mtb/MergeItem.h" + +namespace mt +{ + + DECLARE_ID_TABLE(MergeItem, mtb::MergeItem, + "mergeItem@mergeItem.json", + "equip_id") + public: + + void Init1(); + + private: + }; + +} diff --git a/server/gameserver/mt/MetaMgr.cc b/server/gameserver/mt/MetaMgr.cc index a82d3f1d..e4777606 100644 --- a/server/gameserver/mt/MetaMgr.cc +++ b/server/gameserver/mt/MetaMgr.cc @@ -38,6 +38,7 @@ #include "mt/Grasp.h" #include "mt/GraspBuff.h" #include "mt/GuideStep.h" +#include "mt/MergeItem.h" #include "app.h" @@ -105,6 +106,7 @@ namespace mt RegMetaTable(res_path_); RegMetaTable(res_path_); RegMetaTable(res_path_); + RegMetaTable(res_path_); } void MetaMgr::Load() diff --git a/server/gameserver/mtb/MergeItem.h b/server/gameserver/mtb/MergeItem.h new file mode 100644 index 00000000..c30960c1 --- /dev/null +++ b/server/gameserver/mtb/MergeItem.h @@ -0,0 +1,37 @@ +#pragma once + +#include + +namespace mtb +{ + + class MergeItem + { + public: + + a8::reflect::Class* GetClass() const; + int equip_id() const { return equip_id_; }; + int skill_id() const { return skill_id_; }; + const std::string pickup3() const { return pickup3_; }; + const std::string pickup6() const { return pickup6_; }; + const std::string pickup9() const { return pickup9_; }; + + bool has_equip_id() const { return __flags__.test(0);}; + bool has_skill_id() const { return __flags__.test(1);}; + bool has_pickup3() const { return __flags__.test(2);}; + bool has_pickup6() const { return __flags__.test(3);}; + bool has_pickup9() const { return __flags__.test(4);}; + + protected: + + int equip_id_ = 0; + int skill_id_ = 0; + std::string pickup3_; + std::string pickup6_; + std::string pickup9_; + +public: + std::bitset<5> __flags__; + }; + +}; diff --git a/server/gameserver/mtb/mtb.all.cc b/server/gameserver/mtb/mtb.all.cc index 7811255b..fc255b26 100644 --- a/server/gameserver/mtb/mtb.all.cc +++ b/server/gameserver/mtb/mtb.all.cc @@ -38,6 +38,7 @@ #include "mtb/GraspBuff.h" #include "mtb/GuideStep.h" #include "mtb/WorldObject.h" +#include "mtb/MergeItem.h" namespace mtb { @@ -818,4 +819,18 @@ namespace mtb return meta_class; } + a8::reflect::Class* MergeItem::GetClass() const + { + a8::reflect::Class* meta_class = nullptr; + if (!meta_class) { + meta_class = new a8::reflect::Class("MergeItem", 5, 0); + meta_class->SetSimpleField(0, "equip_id", a8::reflect::ET_INT32, my_offsetof2(MergeItem, equip_id_)); + meta_class->SetSimpleField(1, "skill_id", a8::reflect::ET_INT32, my_offsetof2(MergeItem, skill_id_)); + meta_class->SetSimpleField(2, "pickup3", a8::reflect::ET_STRING, my_offsetof2(MergeItem, pickup3_)); + meta_class->SetSimpleField(3, "pickup6", a8::reflect::ET_STRING, my_offsetof2(MergeItem, pickup6_)); + meta_class->SetSimpleField(4, "pickup9", a8::reflect::ET_STRING, my_offsetof2(MergeItem, pickup9_)); + } + return meta_class; + } + } diff --git a/server/tools/protobuild/mt.proto b/server/tools/protobuild/mt.proto index 9eadd4d9..db8d596c 100755 --- a/server/tools/protobuild/mt.proto +++ b/server/tools/protobuild/mt.proto @@ -610,3 +610,12 @@ message WorldObject optional float y = 4; optional float z = 5; } + +message MergeItem +{ + optional int32 equip_id = 1; + optional int32 skill_id = 2; + optional string pickup3 = 3; + optional string pickup6 = 4; + optional string pickup9 = 5; +} \ No newline at end of file