当前位置: 首页>>代码示例>>C++>>正文


C++ TObjectIterator::HasAnyClassFlags方法代码示例

本文整理汇总了C++中TObjectIterator::HasAnyClassFlags方法的典型用法代码示例。如果您正苦于以下问题:C++ TObjectIterator::HasAnyClassFlags方法的具体用法?C++ TObjectIterator::HasAnyClassFlags怎么用?C++ TObjectIterator::HasAnyClassFlags使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TObjectIterator的用法示例。


在下文中一共展示了TObjectIterator::HasAnyClassFlags方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DumpUsageStats

void UBehaviorTreeManager::DumpUsageStats() const
{
	FNodeClassCounter AllNodesCounter;
	
	for (TObjectIterator<UClass> It; It; ++It)
	{
		if (It->IsChildOf(UBTNode::StaticClass()) && It->HasAnyClassFlags(CLASS_Abstract) == false
#if WITH_EDITOR
			&& !(FKismetEditorUtilities::IsClassABlueprintSkeleton(*It)
				|| It->HasAnyClassFlags(CLASS_NewerVersionExists))
#endif
			)

		{
			AllNodesCounter.Declare(*It);
		}
	}

	UE_LOG(LogBehaviorTree, Display, TEXT("----------------------UBehaviorTreeManager::DumpUsageStats----------------------\nBehavior Trees:"));

	// get all BTNode classes
	
	for (TObjectIterator<UBehaviorTree> It; It; ++It)
	{
		FNodeClassCounter TreeNodeCounter;
		UE_LOG(LogBehaviorTree, Display, TEXT("--- %s ---"), *(It->GetName()));
		StatNodeUsage(It->RootNode, TreeNodeCounter);
		TreeNodeCounter.Print();
		AllNodesCounter.Append(TreeNodeCounter);
	}
	
	UE_LOG(LogBehaviorTree, Display, TEXT("--- Total Nodes usage:"));
	AllNodesCounter.Print(TEXT(","));
}
开发者ID:Foreven,项目名称:Unreal4-1,代码行数:34,代码来源:BehaviorTreeManager.cpp

示例2: InitializeStreamingMethods

/**
 * Initializes the list of possible level streaming methods.
 * Does nothing if the lists are already initialized.
 */
void InitializeStreamingMethods()
{
    check( GStreamingMethodStrings.Num() == GStreamingMethodClassList.Num() );
    if ( GStreamingMethodClassList.Num() == 0 )
    {
        // Assemble a list of possible level streaming methods.
        for ( TObjectIterator<UClass> It ; It ; ++It )
        {
            if ( It->IsChildOf( ULevelStreaming::StaticClass() ) &&
                    (It->HasAnyClassFlags(CLASS_EditInlineNew)) &&
                    !(It->HasAnyClassFlags(CLASS_Hidden | CLASS_Abstract | CLASS_Deprecated | CLASS_Transient)))
            {
                const FString ClassName( It->GetName() );
                // Strip the leading "LevelStreaming" text from the class name.
                // @todo DB: This assumes the names of all ULevelStreaming-derived types begin with the string "LevelStreaming".
                GStreamingMethodStrings.Add( ClassName.Mid( 14 ) );
                GStreamingMethodClassList.Add( *It );
            }
        }
    }
}
开发者ID:Tigrouzen,项目名称:UnrealEngine-4,代码行数:25,代码来源:EditorLevelUtils.cpp

示例3: AssembleListOfExporters

void AssembleListOfExporters(TArray<UExporter*>& OutExporters)
{
	auto TransientPackage = GetTransientPackage();

	// @todo DB: Assemble this set once.
	OutExporters.Empty();
	for (TObjectIterator<UClass> It; It; ++It)
	{
		if (It->IsChildOf(UExporter::StaticClass()) && !It->HasAnyClassFlags(CLASS_Abstract))
		{
			UExporter* Exporter = NewObject<UExporter>(TransientPackage, *It);
			OutExporters.Add(Exporter);
		}
	}
}
开发者ID:Nicole-W,项目名称:janusvr_utils,代码行数:15,代码来源:JanusExporterTool.cpp

示例4: ListAllCommandlets

/**
 * Loads all of the code packages completely (for script classes). Then iterates
 * through the UClass-es finding all commandlets and dumping information on them
 */
static void ListAllCommandlets(void)
{
	warnf(TEXT("%-40s    %s"),TEXT("Commandlet"),TEXT("Description"));
	warnf(TEXT("--------------------------------------------------------------------------------"));
	// Now iterate through all UClass-es looking for commandlets
	for (TObjectIterator<UClass> It; It; ++It)
	{
		UCommandlet* DefObject = Cast<UCommandlet>(It->GetDefaultObject());
		if (DefObject != NULL)
		{
			// Ignore commandlets that can't be created
			if (It->HasAnyClassFlags(CLASS_Abstract) == FALSE)
			{
				const FString& Name = GetCommandletName(DefObject);
				warnf(TEXT("%-40s - %s"),*Name,*DefObject->HelpDescription);
			}
		}
	}
}
开发者ID:LiuKeHua,项目名称:colorful-engine,代码行数:23,代码来源:UHelpCommandlet.cpp


注:本文中的TObjectIterator::HasAnyClassFlags方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。