File tree Expand file tree Collapse file tree 4 files changed +10
-11
lines changed Expand file tree Collapse file tree 4 files changed +10
-11
lines changed Original file line number Diff line number Diff line change 1515
1616#include < magic_enum.hpp>
1717
18-
1918// ////////////////// Class Definition ////////////////////
2019ClassDefine<void > OriginTypeStaticBuilder = EnumDefineBuilder<CommandOriginType>::build(" OriginType" );
2120
@@ -39,7 +38,7 @@ ClassDefine<CommandOriginClass> CommandOriginClassBuilder =
3938
4039CommandOriginClass::CommandOriginClass (CommandOrigin const * p)
4140: ScriptClass(ScriptClass::ConstructFromCpp<CommandOriginClass>{}),
42- ptr(p){};
41+ ptr(p) {};
4342
4443Local<Object> CommandOriginClass::newCommandOrigin (CommandOrigin const * p) {
4544 auto newp = new CommandOriginClass (p);
Original file line number Diff line number Diff line change @@ -925,7 +925,7 @@ Local<Value> EntityClass::toItem(const Arguments& args) {
925925 if (!entity || !entity->hasCategory (ActorCategory::Item)) {
926926 return Local<Value>();
927927 } else {
928- return ItemClass::newItem (&(( ItemActor*) entity)->item (), false );
928+ return ItemClass::newItem (&static_cast < ItemActor*>( entity)->item (), false );
929929 }
930930 }
931931 CATCH (" Fail in toItem!" );
Original file line number Diff line number Diff line change @@ -73,7 +73,7 @@ ClassDefine<ItemClass> ItemClassBuilder = defineClass<ItemClass>("LLSE_Item")
7373
7474ItemClass::ItemClass (ItemStack* p, bool isNew) : ScriptClass(ScriptClass::ConstructFromCpp<ItemClass>{}) {
7575 if (isNew) {
76- item = std::unique_ptr <ItemStack>(p);
76+ item = std::shared_ptr <ItemStack>(p);
7777 } else {
7878 item = p;
7979 }
@@ -314,8 +314,8 @@ Local<Value> ItemClass::set(const Arguments& args) {
314314 if (!itemNew) return Local<Value>(); // Null
315315
316316 auto tag = itemNew->save ();
317- if (std::holds_alternative<std::unique_ptr <ItemStack>>(item)) {
318- std::get<std::unique_ptr <ItemStack>>(item)->load (*tag);
317+ if (std::holds_alternative<std::shared_ptr <ItemStack>>(item)) {
318+ std::get<std::shared_ptr <ItemStack>>(item)->load (*tag);
319319 } else {
320320 std::get<ItemStack*>(item)->load (*tag);
321321 }
Original file line number Diff line number Diff line change @@ -8,25 +8,25 @@ class ItemStack;
88
99class ItemClass : public ScriptClass {
1010private:
11- std::variant<std::unique_ptr <ItemStack>, ItemStack*> item;
11+ std::variant<std::shared_ptr <ItemStack>, ItemStack*> item;
1212
1313 // Pre data
1414 std::string name, type;
1515 int id, count, aux;
1616
1717public:
18- explicit ItemClass (ItemStack* p, bool isNew);
18+ explicit ItemClass (ItemStack* p, bool isNew = false );
1919 void preloadData ();
2020
2121 ItemStack* get () {
22- if (std::holds_alternative<std::unique_ptr <ItemStack>>(item)) {
23- return std::get<std::unique_ptr <ItemStack>>(item).get ();
22+ if (std::holds_alternative<std::shared_ptr <ItemStack>>(item)) {
23+ return std::get<std::shared_ptr <ItemStack>>(item).get ();
2424 } else {
2525 return std::get<ItemStack*>(item);
2626 }
2727 }
2828
29- static Local<Object> newItem (ItemStack* p, bool isNew);
29+ static Local<Object> newItem (ItemStack* p, bool isNew = false );
3030 static ItemStack* extract (Local<Value> v);
3131 Local<Value> asPointer (const Arguments& args);
3232
You can’t perform that action at this time.
0 commit comments