File tree 1 file changed +25
-4
lines changed
1 file changed +25
-4
lines changed Original file line number Diff line number Diff line change @@ -106,12 +106,33 @@ BT::NodeStatus SkillAction::convertResultToStatus(const std::string &result_stri
106
106
const auto &output = json[" outputs" ];
107
107
for (auto it = output.begin (); it != output.end (); it++)
108
108
{
109
+
109
110
if (it.value ().is_boolean ())
110
111
setOutput (it.key (), it.value ().get <bool >());
111
- else if (it.value ().is_number_integer ())
112
- setOutput (it.key (), it.value ().get <int >());
113
- else if (it.value ().is_number_float ())
114
- setOutput (it.key (), it.value ().get <double >());
112
+ else if (it.value ().is_number_float ()) {
113
+ try {
114
+ setOutput (it.key (), it.value ().get <double >());
115
+ continue ;
116
+ }
117
+ catch (...){};
118
+ try {
119
+ setOutput (it.key (), it.value ().get <float >());
120
+ continue ;
121
+ }
122
+ catch (...){};
123
+ }
124
+ else if (it.value ().is_number_integer ()) {
125
+ try {
126
+ setOutput (it.key (), it.value ().get <int >());
127
+ continue ;
128
+ }
129
+ catch (...){};
130
+ try {
131
+ setOutput (it.key (), it.value ().get <double >());
132
+ continue ;
133
+ }
134
+ catch (...){};
135
+ }
115
136
else if (it.value ().is_string ())
116
137
setOutput (it.key (), it.value ().get <std::string>());
117
138
else
You can’t perform that action at this time.
0 commit comments