Skip to content

Commit

Permalink
warn about overwritten enums
Browse files Browse the repository at this point in the history
  • Loading branch information
facontidavide committed Apr 2, 2024
1 parent 56c6ffc commit 6501206
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion src/bt_factory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,21 @@ void BehaviorTreeFactory::addMetadataToManifest(const std::string& node_id,

void BehaviorTreeFactory::registerScriptingEnum(StringView name, int value)
{
(*_p->scripting_enums)[std::string(name)] = value;
const auto str = std::string(name);
auto it = _p->scripting_enums->find(str);
if(it == _p->scripting_enums->end())
{
_p->scripting_enums->insert({ str, value });
}
else
{
if(it->second != value)
{
throw LogicError(
StrCat("Registering the enum [", name, "] twice with different values, first ",
std::to_string(it->second), " and later ", std::to_string(value)));
}
}
}

void BehaviorTreeFactory::clearSubstitutionRules()
Expand Down

0 comments on commit 6501206

Please sign in to comment.