More cleanup of Internal/External IDs

This commit is contained in:
2026-03-29 15:11:45 -04:00
parent 091bfe1ad2
commit 6041641c74
10 changed files with 43 additions and 57 deletions

View File

@@ -64,18 +64,25 @@ FString WingUtils::ExternalizeID(FName Name)
FName WingUtils::CheckInternalizeID(const FString &ExternalID)
{
return FName(WingTokenizer::CheckInternalizeID(ExternalID));
FString Error;
FString InternalID = WingTokenizer::TryInternalizeID(ExternalID, Error);
if (!Error.IsEmpty())
{
UWingServer::Printf(TEXT("%s\n"), *Error);
UWingServer::SuggestManual(WingManual::Section::EscapeSequences);
}
return FName(InternalID);
}
FString WingUtils::CheckProposedName(const FString &ExternalID)
FName WingUtils::CheckProposedName(const FString &ExternalID)
{
FString InternalID = WingTokenizer::CheckInternalizeID(ExternalID);
if (!InternalID.IsEmpty() && !WingTokenizer::WouldExternalizeReadably(InternalID))
FName InternalID = CheckInternalizeID(ExternalID);
if (!InternalID.IsNone() && !WingTokenizer::WouldExternalizeReadably(InternalID.ToString()))
{
UWingServer::Printf(TEXT("ERROR: id %s would not be a readable id, may not create item with this name"),
*ExternalID);
UWingServer::SuggestManual(WingManual::Section::EscapeSequences);
return FString();
return FName();
}
return InternalID;
}