本文整理汇总了C++中FCompilerResultsLog::Warning方法的典型用法代码示例。如果您正苦于以下问题:C++ FCompilerResultsLog::Warning方法的具体用法?C++ FCompilerResultsLog::Warning怎么用?C++ FCompilerResultsLog::Warning使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FCompilerResultsLog
的用法示例。
在下文中一共展示了FCompilerResultsLog::Warning方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ValidateAnimNodeDuringCompilation
void UAnimGraphNode_BoneDrivenController::ValidateAnimNodeDuringCompilation(USkeleton* ForSkeleton, FCompilerResultsLog& MessageLog)
{
if (ForSkeleton->GetReferenceSkeleton().FindBoneIndex(Node.SourceBone.BoneName) == INDEX_NONE)
{
MessageLog.Warning(*LOCTEXT("NoSourceBone", "@@ - You must pick a source bone as the Driver joint").ToString(), this);
}
if (Node.SourceComponent == EComponentType::None)
{
MessageLog.Warning(*LOCTEXT("NoSourceComponent", "@@ - You must pick a source component on the Driver joint").ToString(), this);
}
if (ForSkeleton->GetReferenceSkeleton().FindBoneIndex(Node.TargetBone.BoneName) == INDEX_NONE)
{
MessageLog.Warning(*LOCTEXT("NoTargetBone", "@@ - You must pick a target bone as the Driven joint").ToString(), this);
}
const bool bAffectsTranslation = Node.bAffectTargetTranslationX || Node.bAffectTargetTranslationY || Node.bAffectTargetTranslationZ;
const bool bAffectsRotation = Node.bAffectTargetRotationX || Node.bAffectTargetRotationY || Node.bAffectTargetRotationZ;
const bool bAffectsScale = Node.bAffectTargetScaleX || Node.bAffectTargetScaleY || Node.bAffectTargetScaleZ;
if (!bAffectsTranslation && !bAffectsRotation && !bAffectsScale)
{
MessageLog.Warning(*LOCTEXT("NoTargetComponent", "@@ - You must pick one or more target components on the Driven joint").ToString(), this);
}
Super::ValidateAnimNodeDuringCompilation(ForSkeleton, MessageLog);
}
示例2: ValidateNodeVariableNames
void USimpleConstructionScript::ValidateNodeVariableNames(FCompilerResultsLog& MessageLog)
{
UBlueprint* Blueprint = GetBlueprint();
check(Blueprint);
TSharedPtr<FKismetNameValidator> ParentBPNameValidator;
if( Blueprint->ParentClass != NULL )
{
UBlueprint* ParentBP = Cast<UBlueprint>(Blueprint->ParentClass->ClassGeneratedBy);
if( ParentBP != NULL )
{
ParentBPNameValidator = MakeShareable(new FKismetNameValidator(ParentBP));
}
}
TSharedPtr<FKismetNameValidator> CurrentBPNameValidator = MakeShareable(new FKismetNameValidator(Blueprint));
TArray<USCS_Node*> Nodes = GetAllNodes();
int32 Counter=0;
for (int32 NodeIndex=0; NodeIndex < Nodes.Num(); ++NodeIndex)
{
USCS_Node* Node = Nodes[NodeIndex];
if( Node && Node->ComponentTemplate && Node != DefaultSceneRootNode )
{
// Replace missing or invalid component variable names
if( Node->VariableName == NAME_None
|| Node->bVariableNameAutoGenerated_DEPRECATED
|| !FComponentEditorUtils::IsValidVariableNameString(Node->ComponentTemplate, Node->VariableName.ToString()) )
{
FName OldName = Node->VariableName;
// Generate a new default variable name for the component.
Node->VariableName = GenerateNewComponentName(Node->ComponentTemplate->GetClass());
Node->bVariableNameAutoGenerated_DEPRECATED = false;
if( OldName != NAME_None )
{
FBlueprintEditorUtils::ReplaceVariableReferences(Blueprint, OldName, Node->VariableName);
MessageLog.Warning(*FString::Printf(TEXT("Found a component variable with an invalid name (%s) - changed to %s."), *OldName.ToString(), *Node->VariableName.ToString()));
}
}
else if( ParentBPNameValidator.IsValid() && ParentBPNameValidator->IsValid(Node->VariableName) != EValidatorResult::Ok )
{
FName OldName = Node->VariableName;
FName NewVariableName = FBlueprintEditorUtils::FindUniqueKismetName(Blueprint, OldName.ToString());
FBlueprintEditorUtils::RenameMemberVariable(Blueprint, OldName, NewVariableName );
MessageLog.Warning(*FString::Printf(TEXT("Found a component variable with a conflicting name (%s) - changed to %s."), *OldName.ToString(), *Node->VariableName.ToString()));
}
}
}
}
示例3: ValidateAnimNodeDuringCompilation
void UAnimGraphNode_ModifyBone::ValidateAnimNodeDuringCompilation(USkeleton* ForSkeleton, FCompilerResultsLog& MessageLog)
{
if (ForSkeleton->GetReferenceSkeleton().FindBoneIndex(Node.BoneToModify.BoneName) == INDEX_NONE)
{
MessageLog.Warning(*LOCTEXT("NoBoneToModify", "@@ - You must pick a bone to modify").ToString(), this);
}
if ((Node.TranslationMode == BMM_Ignore) && (Node.RotationMode == BMM_Ignore) && (Node.ScaleMode == BMM_Ignore))
{
MessageLog.Warning(*LOCTEXT("NothingToModify", "@@ - No components to modify selected. Either Rotation, Translation, or Scale should be set to something other than Ignore").ToString(), this);
}
Super::ValidateAnimNodeDuringCompilation(ForSkeleton, MessageLog);
}
示例4: ValidateEnumProperties
void FKismetCompilerUtilities::ValidateEnumProperties(UObject* DefaultObject, FCompilerResultsLog& MessageLog)
{
check(DefaultObject);
for (TFieldIterator<UProperty> It(DefaultObject->GetClass()); It; ++It)
{
const UByteProperty* ByteProperty = Cast<UByteProperty>(*It);
if(ByteProperty && !ByteProperty->HasAnyPropertyFlags(CPF_Transient))
{
const UEnum* Enum = ByteProperty->GetIntPropertyEnum();
if(Enum)
{
const uint8 EnumIndex = ByteProperty->GetPropertyValue_InContainer(DefaultObject);
const int32 EnumAcceptableMax = Enum->NumEnums() - 1;
if(EnumIndex >= EnumAcceptableMax)
{
MessageLog.Warning(
*FString::Printf(
*LOCTEXT("InvalidEnumDefaultValue_Error", "Default Enum value '%s' for class '%s' is invalid in object '%s' ").ToString(),
*ByteProperty->GetName(),
*DefaultObject->GetClass()->GetName(),
*DefaultObject->GetName()
)
);
}
}
}
}
}
示例5: ValidateAnimNodeDuringCompilation
void UAnimGraphNode_TwistCorrectiveNode::ValidateAnimNodeDuringCompilation(USkeleton* ForSkeleton, FCompilerResultsLog& MessageLog)
{
if (Node.Curve.Name == NAME_None)
{
MessageLog.Warning(TEXT("@@ has missing Curve Name."), this);
}
Super::ValidateAnimNodeDuringCompilation(ForSkeleton, MessageLog);
}
示例6: DefaultUserDefinedStructs
void FUserDefinedStructureCompilerUtils::DefaultUserDefinedStructs(UObject* Object, FCompilerResultsLog& MessageLog)
{
if (Object && FStructureEditorUtils::UserDefinedStructEnabled())
{
for (TFieldIterator<UProperty> It(Object->GetClass()); It; ++It)
{
if (const UProperty* Property = (*It))
{
uint8* Mem = Property->ContainerPtrToValuePtr<uint8>(Object);
if (!FStructureEditorUtils::Fill_MakeStructureDefaultValue(Property, Mem))
{
MessageLog.Warning(*FString::Printf(*LOCTEXT("MakeStructureDefaultValue_Error", "MakeStructureDefaultValue parsing error. Object: %s, Property: %s").ToString(),
*Object->GetName(), *Property->GetName()));
}
}
}
}
}
示例7: CheckOutputsParametersInDelegateSignature
static void CheckOutputsParametersInDelegateSignature(const UFunction* SignatureFunc, const UK2Node * DelegateNode, FCompilerResultsLog& MessageLog)
{
for (TFieldIterator<UProperty> PropIt(SignatureFunc); PropIt && (PropIt->PropertyFlags & CPF_Parm); ++PropIt)
{
UProperty* FuncParam = *PropIt;
if (FuncParam->HasAllPropertyFlags(CPF_OutParm) && !FuncParam->HasAllPropertyFlags(CPF_ConstParm))
{
const bool bIsArray = FuncParam->IsA<UArrayProperty>(); // array is always passed by reference, see FKismetCompilerContext::CreatePropertiesFromList
const FString MessageStr = FString::Printf(
*LOCTEXT("DelegatesDontSupportRef", "Event Dispatcher: No value will be return by reference. Parameter '%s'. Node '@@'").ToString(),
*FuncParam->GetName());
if (bIsArray)
{
MessageLog.Note(*MessageStr,DelegateNode);
}
else
{
MessageLog.Warning(*MessageStr, DelegateNode);
}
}
}
}
示例8: if
void UK2Node_DynamicCast::ValidateNodeDuringCompilation(FCompilerResultsLog& MessageLog) const
{
Super::ValidateNodeDuringCompilation(MessageLog);
UEdGraphPin* SourcePin = GetCastSourcePin();
if (SourcePin->LinkedTo.Num() > 0)
{
const UClass* SourceType = *TargetType;
if (SourceType == nullptr)
{
return;
}
for (UEdGraphPin* CastInput : SourcePin->LinkedTo)
{
const FEdGraphPinType& SourcePinType = CastInput->PinType;
if (SourcePinType.PinCategory != UEdGraphSchema_K2::PC_Object)
{
// all other types should have been rejected by IsConnectionDisallowed()
continue;
}
UClass* SourceClass = Cast<UClass>(SourcePinType.PinSubCategoryObject.Get());
if ((SourceClass == nullptr) && (SourcePinType.PinSubCategory == UEdGraphSchema_K2::PSC_Self))
{
if (UK2Node* K2Node = Cast<UK2Node>(CastInput->GetOwningNode()))
{
SourceClass = K2Node->GetBlueprint()->GeneratedClass;
}
}
if (SourceClass == nullptr)
{
const FString SourcePinName = CastInput->PinFriendlyName.IsEmpty() ? CastInput->PinName : CastInput->PinFriendlyName.ToString();
FText const ErrorFormat = LOCTEXT("BadCastInput", "'%s' does not have a clear object type (invalid input into @@).");
MessageLog.Error( *FString::Printf(*ErrorFormat.ToString(), *SourcePinName), this );
continue;
}
if (SourceClass == SourceType)
{
const FString SourcePinName = CastInput->PinFriendlyName.IsEmpty() ? CastInput->PinName : CastInput->PinFriendlyName.ToString();
FText const WarningFormat = LOCTEXT("EqualObjectCast", "'%s' is already a '%s', you don't need @@.");
MessageLog.Warning( *FString::Printf(*WarningFormat.ToString(), *SourcePinName, *TargetType->GetDisplayNameText().ToString()), this );
}
else if (SourceClass->IsChildOf(SourceType))
{
const FString SourcePinName = CastInput->PinFriendlyName.IsEmpty() ? CastInput->PinName : CastInput->PinFriendlyName.ToString();
FText const WarningFormat = LOCTEXT("UnneededObjectCast", "'%s' is already a '%s' (which inherits from '%s'), so you don't need @@.");
MessageLog.Warning( *FString::Printf(*WarningFormat.ToString(), *SourcePinName, *SourceClass->GetDisplayNameText().ToString(), *TargetType->GetDisplayNameText().ToString()), this );
}
else if (!SourceType->IsChildOf(SourceClass) && !FKismetEditorUtilities::IsClassABlueprintInterface(SourceType))
{
FText const WarningFormat = LOCTEXT("DisallowedObjectCast", "'%s' does not inherit from '%s' (@@ would always fail).");
MessageLog.Warning( *FString::Printf(*WarningFormat.ToString(), *TargetType->GetDisplayNameText().ToString(), *SourceClass->GetDisplayNameText().ToString()), this );
}
}
}
}