void FName::AutoTest()
{
    const FName AutoTest_1("AutoTest_1");
    const FName autoTest_1("autoTest_1");
    const FName autoTeSt_1("autoTeSt_1");
    const FName AutoTest1Find("autoTEST_1", EFindName::FNAME_Find);
    const FName AutoTest_2(TEXT("AutoTest_2"));
    const FName AutoTestB_2(TEXT("AutoTestB_2"));

    check(AutoTest_1 != AutoTest_2);
    check(AutoTest_1 == autoTest_1);
    check(AutoTest_1 == autoTeSt_1);
#if WITH_CASE_PRESERVING_NAME
    check(!FCString::Strcmp(*AutoTest_1.ToString(), TEXT("AutoTest_1")));
    check(!FCString::Strcmp(*autoTest_1.ToString(), TEXT("autoTest_1")));
    check(!FCString::Strcmp(*autoTeSt_1.ToString(), TEXT("autoTeSt_1")));
    check(!FCString::Strcmp(*AutoTestB_2.ToString(), TEXT("AutoTestB_2")));
#endif
    check(autoTest_1.GetComparisonIndex() == AutoTest_2.GetComparisonIndex());
    check(autoTest_1.GetPlainNameString() == AutoTest_1.GetPlainNameString());
    check(autoTest_1.GetPlainNameString() == AutoTest_2.GetPlainNameString());
    check(*AutoTestB_2.GetPlainNameString() != *AutoTest_2.GetPlainNameString());
    check(AutoTestB_2.GetNumber() == AutoTest_2.GetNumber());
    check(autoTest_1.GetNumber() != AutoTest_2.GetNumber());
}
Example #2
0
bool UPackageMap::SerializeName(FArchive& Ar, FName& Name)
{
	if (Ar.IsLoading())
	{
		uint8 bHardcoded = 0;
		Ar.SerializeBits(&bHardcoded, 1);
		if (bHardcoded)
		{
			// replicated by hardcoded index
			uint32 NameIndex;
			Ar.SerializeInt(NameIndex, MAX_NETWORKED_HARDCODED_NAME + 1);
			Name = EName(NameIndex);
			// hardcoded names never have a Number
		}
		else
		{
			// replicated by string
			FString InString;
			int32 InNumber;
			Ar << InString << InNumber;
			Name = FName(*InString, InNumber);
		}
	}
	else if (Ar.IsSaving())
	{
		uint8 bHardcoded = Name.GetComparisonIndex() <= MAX_NETWORKED_HARDCODED_NAME;
		Ar.SerializeBits(&bHardcoded, 1);
		if (bHardcoded)
		{
			// send by hardcoded index
			checkSlow(Name.GetNumber() <= 0); // hardcoded names should never have a Number
			uint32 NameIndex = uint32(Name.GetComparisonIndex());
			Ar.SerializeInt(NameIndex, MAX_NETWORKED_HARDCODED_NAME + 1);
		}
		else
		{
			// send by string
			FString OutString = Name.GetPlainNameString();
			int32 OutNumber = Name.GetNumber();
			Ar << OutString << OutNumber;
		}
	}
	return true;
}