FString FKismetBytecodeDisassembler::ReadName(int32& ScriptIndex) { const FScriptName ConstValue = *(FScriptName*)(Script.GetData() + ScriptIndex); ScriptIndex += sizeof(FScriptName); return ScriptNameToName(ConstValue).ToString(); }
//------------------------------------------------------------------------------ FString FBasicToken::GetConstantValue() const { if (TokenType == TOKEN_Const) { switch (ConstantType) { case CPT_Byte: return FString::Printf(TEXT("%u"), Byte); case CPT_Int: return FString::Printf(TEXT("%i"), Int); case CPT_Bool: // Don't use GTrue/GFalse here because they can be localized return FString::Printf(TEXT("%s"), NativeBool ? *(FName::GetEntry(NAME_TRUE)->GetPlainNameString()) : *(FName::GetEntry(NAME_FALSE)->GetPlainNameString())); case CPT_Float: return FString::Printf(TEXT("%f"), Float); case CPT_Name: return FString::Printf(TEXT("%s"), *ScriptNameToName(*(FScriptName*)NameBytes).ToString()); case CPT_String: return String; // unsupported (parsing never produces a constant token of these types: // CPT_Vector, ..., CPT_Int8, CPT_Int16, CPT_Int64, ..., CPT_Bool8, etc) default: return TEXT("InvalidTypeForAToken"); } } else { return TEXT("NotConstant"); } }