// Copyright Epic Games, Inc. All Rights Reserved. #include "ChooserInitializer.h" #include "AnimNode_ChooserPlayer.h" #include "Chooser.h" #include "ChooserPropertyAccess.h" #include "Animation/AnimationAsset.h" #include "Animation/AnimInstance.h" #include UE_INLINE_GENERATED_CPP_BY_NAME(ChooserInitializer) #define LOCTEXT_NAMESPACE "ChooserInitializer" void FGenericChooserInitializer::Initialize(UChooserTable* Chooser) const { Chooser->ContextData = ContextData; Chooser->ResultType = ResultType; Chooser->OutputObjectType = OutputObjectType; } void FChooserPlayerInitializer::Initialize(UChooserTable* Chooser) const { Chooser->ContextData.SetNum(2); Chooser->ContextData[0].InitializeAs(FContextObjectTypeClass::StaticStruct()); FContextObjectTypeClass& ClassData = Chooser->ContextData[0].GetMutable(); if (AnimClass) { ClassData.Class = AnimClass; } else { ClassData.Class = UAnimInstance::StaticClass(); } ClassData.Direction = EContextObjectDirection::ReadWrite; Chooser->ContextData[1].InitializeAs(FContextObjectTypeStruct::StaticStruct()); FContextObjectTypeStruct& StructData = Chooser->ContextData[1].GetMutable(); StructData.Struct = FChooserPlayerSettings::StaticStruct(); StructData.Direction = EContextObjectDirection::Write; Chooser->OutputObjectType = UAnimationAsset::StaticClass(); } void FNoPrimaryResultChooserInitializer::Initialize(UChooserTable* Chooser) const { Chooser->ContextData = ContextData; Chooser->ResultType = EObjectChooserResultType::NoPrimaryResult; // Dummy result type Chooser->OutputObjectType = UClass::StaticClass(); } #undef LOCTEXT_NAMESPACE