@@ -410,7 +410,7 @@ Local<Value> CommandClass::newParameter(const Arguments& args) {
410410 option = (CommandParameterOption)args[index++].asNumber ().toInt32 ();
411411 if (index != args.size ()) throw std::runtime_error (" Error Argument in newParameter" );
412412
413- getEngineOwnData ()->plugin ->registeredCommands [commandName].push_back ({name, type, optional, enumName}
413+ getEngineOwnData ()->plugin ->registeredCommands [commandName].push_back ({name, type, optional, enumName, option }
414414 ); // Stores the parameter name for onExecute use
415415
416416 return Boolean::newBoolean (true );
@@ -436,7 +436,7 @@ Local<Value> CommandClass::mandatory(const Arguments& args) {
436436 option = (CommandParameterOption)args[index++].asNumber ().toInt32 ();
437437 if (index != args.size ()) throw std::runtime_error (" Error Argument in newParameter" );
438438
439- getEngineOwnData ()->plugin ->registeredCommands [commandName].push_back ({name, type, false , enumName}
439+ getEngineOwnData ()->plugin ->registeredCommands [commandName].push_back ({name, type, false , enumName, option }
440440 ); // Stores the parameter name for onExecute use
441441
442442 return Boolean::newBoolean (true );
@@ -462,7 +462,7 @@ Local<Value> CommandClass::optional(const Arguments& args) {
462462 option = (CommandParameterOption)args[index++].asNumber ().toInt32 ();
463463 if (index != args.size ()) throw std::runtime_error (" Error Argument in newParameter" );
464464
465- getEngineOwnData ()->plugin ->registeredCommands [commandName].push_back ({name, type, true , enumName}
465+ getEngineOwnData ()->plugin ->registeredCommands [commandName].push_back ({name, type, true , enumName, option }
466466 ); // Stores the parameter name for onExecute use
467467
468468 return Boolean::newBoolean (true );
@@ -495,16 +495,16 @@ Local<Value> CommandClass::addOverload(const Arguments& args) {
495495 }
496496 }
497497 };
498- auto delayRegFunc = [this , &overloadFunc](std::vector<std::string>& enumValues ) {
499- EventBus::getInstance ().emplaceListener <ServerStartedEvent>([enumValues ,
498+ auto delayRegFunc = [this , &overloadFunc](std::vector<std::string>& paramNames ) {
499+ EventBus::getInstance ().emplaceListener <ServerStartedEvent>([paramNames ,
500500 commandName (commandName),
501501 overloadFunc,
502502 e (EngineScope::currentEngine ()
503503 )](ServerStartedEvent&) {
504504 auto cmd = ll::command::CommandRegistrar::getInstance ()
505505 .getOrCreateCommand (commandName)
506506 .runtimeOverload (getEngineData (e)->plugin );
507- for (auto & paramName : enumValues ) {
507+ for (auto & paramName : paramNames ) {
508508 overloadFunc (cmd, commandName, paramName);
509509 }
510510 cmd.execute (onExecute);
@@ -513,12 +513,12 @@ Local<Value> CommandClass::addOverload(const Arguments& args) {
513513
514514 if (args[0 ].isNumber ()) {
515515 if (ll::getGamingStatus () == ll::GamingStatus::Starting) {
516- std::vector<std::string> enumValues ;
516+ std::vector<std::string> paramNames ;
517517 for (int i = 0 ; i < args.size (); ++i) {
518518 CHECK_ARG_TYPE (args[i], ValueKind::kNumber );
519- enumValues .push_back (std::to_string (args[i].asNumber ().toInt32 ()));
519+ paramNames .push_back (std::to_string (args[i].asNumber ().toInt32 ()));
520520 }
521- delayRegFunc (enumValues );
521+ delayRegFunc (paramNames );
522522 } else {
523523 auto cmd = get ().runtimeOverload (getEngineOwnData ()->plugin );
524524 for (int i = 0 ; i < args.size (); ++i) {
@@ -531,17 +531,17 @@ Local<Value> CommandClass::addOverload(const Arguments& args) {
531531 return Boolean::newBoolean (true );
532532 } else if (args[0 ].isString ()) {
533533 if (ll::getGamingStatus () == ll::GamingStatus::Starting) {
534- std::vector<std::string> enumValues ;
534+ std::vector<std::string> paramNames ;
535535 for (int i = 0 ; i < args.size (); ++i) {
536536 CHECK_ARG_TYPE (args[i], ValueKind::kString );
537- enumValues .push_back (args[0 ].asString ().toString ());
537+ paramNames .push_back (args[i ].asString ().toString ());
538538 }
539- delayRegFunc (enumValues );
539+ delayRegFunc (paramNames );
540540 } else {
541541 auto cmd = get ().runtimeOverload (getEngineOwnData ()->plugin );
542542 for (int i = 0 ; i < args.size (); ++i) {
543543 CHECK_ARG_TYPE (args[i], ValueKind::kString );
544- std::string paramName = args[0 ].asString ().toString ();
544+ std::string paramName = args[i ].asString ().toString ();
545545 overloadFunc (cmd, commandName, paramName);
546546 }
547547 cmd.execute (onExecute);
@@ -569,12 +569,12 @@ Local<Value> CommandClass::addOverload(const Arguments& args) {
569569 }
570570 if (arr.get (0 ).isNumber ()) {
571571 if (ll::getGamingStatus () == ll::GamingStatus::Starting) {
572- std::vector<std::string> enumValues ;
572+ std::vector<std::string> paramNames ;
573573 for (int i = 0 ; i < arr.size (); ++i) {
574574 CHECK_ARG_TYPE (arr.get (i), ValueKind::kNumber );
575- enumValues .push_back (std::to_string (arr.get (i).asNumber ().toInt32 ()));
575+ paramNames .push_back (std::to_string (arr.get (i).asNumber ().toInt32 ()));
576576 }
577- delayRegFunc (enumValues );
577+ delayRegFunc (paramNames );
578578 } else {
579579 auto cmd = get ().runtimeOverload (getEngineOwnData ()->plugin );
580580 for (int i = 0 ; i < arr.size (); ++i) {
@@ -587,12 +587,12 @@ Local<Value> CommandClass::addOverload(const Arguments& args) {
587587 return Boolean::newBoolean (true );
588588 } else if (arr.get (0 ).isString ()) {
589589 if (ll::getGamingStatus () == ll::GamingStatus::Starting) {
590- std::vector<std::string> enumValues ;
590+ std::vector<std::string> paramNames ;
591591 for (int i = 0 ; i < arr.size (); ++i) {
592592 CHECK_ARG_TYPE (arr.get (i), ValueKind::kString );
593- enumValues .push_back (arr.get (i).asString ().toString ());
593+ paramNames .push_back (arr.get (i).asString ().toString ());
594594 }
595- delayRegFunc (enumValues );
595+ delayRegFunc (paramNames );
596596 } else {
597597 auto cmd = get ().runtimeOverload (getEngineOwnData ()->plugin );
598598 for (int i = 0 ; i < arr.size (); ++i) {
0 commit comments