1
部件我只是想找到連接到藍圖組件..查找連接到UBlueprint
現在,我有一個公開的藍圖來設置UProperty ..
UPROPERTY(EditAnywhere, BluePrintReadWrite, Category = "Associated Character")
UBlueprint* BMoveBlueprint;
然後我收到此屬性設置時的事件..
void UTaskComponent::PostEditChangeChainProperty(FPropertyChangedChainEvent& PropertyChangedEvent) {
Super::PostEditChangeProperty(PropertyChangedEvent);
//Get the name of the property that was changed
FName PropertyName = (PropertyChangedEvent.Property != nullptr) ? PropertyChangedEvent.Property->GetFName() : NAME_None;
UE_LOG(LogTemp, Warning, TEXT("Property changed: %s"), *PropertyName.ToString());
if (PropertyName == GET_MEMBER_NAME_CHECKED(UTaskComponent, BMoveBlueprint)) {
UBMoveComponent *BMoveComponent = (UBMoveComponent *) BMoveBlueprint->FindTemplateByName("BMove");
}
}
我只想找到附加到藍圖的組件。這似乎並不奏效。
請指教。
UBlueprint沒有FindComponentByClass方法。 = [。我試圖找到類似的東西......但我想知道這是否是一個明智的做法,因爲藍圖本身沒有編譯,也沒有實例化成員(?)我真正感興趣的是獲得拖到現場的藍圖。我認爲在這種情況下,藍圖是與其所有成員一起編制的,如果我能夠處理它,將爲我提供最好的服務。 – terminix00
有什麼具體的原因,爲什麼'AActor * BMoveBlueprint;'對你來說不夠好?因爲如果您只想獲得對組件的引用,則不需要'UBlueprint'。此外,我認爲,您可以稍後將* blueprint-based * actor投射到'UBlueprint *'。 –