State-machines: don’t require name for transitions

Allow anonymous transitions, since the name is purely informational
(unlike for states).

Sentry-Id: FLIGHTGEAR-9H
This commit is contained in:
James Turner 2020-11-30 16:17:59 +00:00
parent fee2c592c0
commit c88b8b201a

View File

@ -441,7 +441,7 @@ void StateMachine::initFromPlist(SGPropertyNode* desc, SGPropertyNode* root)
std::string nm = stateDesc->getStringValue("name"); std::string nm = stateDesc->getStringValue("name");
if (nm.empty()) { if (nm.empty()) {
SG_LOG(SG_GENERAL, SG_ALERT, "No name found for state in branch " << path); SG_LOG(SG_GENERAL, SG_DEV_ALERT, "No name found for state in branch " << path);
throw sg_exception("No name element in state"); throw sg_exception("No name element in state");
} }
@ -464,8 +464,8 @@ void StateMachine::initFromPlist(SGPropertyNode* desc, SGPropertyNode* root)
std::string target_id = tDesc->getStringValue("target"); std::string target_id = tDesc->getStringValue("target");
if (nm.empty()) { if (nm.empty()) {
SG_LOG(SG_GENERAL, SG_ALERT, "No name found for transition in branch " << path); SG_LOG(SG_GENERAL, SG_DEV_WARN, "No name found for transition in branch " << path);
throw sg_exception("No name element in transition"); nm = "transition-to-" + target_id;
} }
if (target_id.empty()) { if (target_id.empty()) {