Почему нет данных о overheadDialogueWidgetComponent
, доступных для редактирования в синем редакторе?UWidgetComponent, не отображающий детали в редакторе Blueprint
Заголовок:
class ABasePaperCharacter : public APaperCharacter
{
GENERATED_BODY()
private:
UDialogueComponentWrapper* dialogueComponentWrapper;
...
каст:
ABasePaperCharacter ::ABasePaperCharacter()
{
this->dialogueComponentWrapper = NewObject<UDialogueComponentWrapper>();
this->dialogueComponentWrapper->SetUpDialogueComponents(FObjectInitializer::Get(), this->GetRootComponent());
...
Заголовок:
UCLASS()
class UDialogueComponentWrapper : public UObject
{
GENERATED_BODY()
public:
void SetUpDialogueComponents(const FObjectInitializer& objectInitializer, USceneComponent* componentToAttachTo);
private:
UPROPERTY(Instanced, EditAnywhere, BlueprintReadWrite, Category = "Dialogue", Meta = (AllowPrivateAccess = true))
UOverheadDialogueWidgetComponent* overheadDialogueWidgetComponent;
...
каст:
void UDialogueComponentWrapper::SetUpDialogueComponents(const FObjectInitializer& objectInitializer, USceneComponent* componentToAttachTo)
{
this->overheadDialogueWidgetComponent = objectInitializer.CreateDefaultSubobject<UOverheadDialogueWidgetComponent>(objectInitializer.GetObj(), TEXT("Dialogue widget component"));
this->overheadDialogueWidgetComponent->AttachToComponent(componentToAttachTo, FAttachmentTransformRules::KeepRelativeTransform);
}
заголовок:
UCLASS()
class ECDD_API UOverheadDialogueWidgetComponent : public UWidgetComponent
{
GENERATED_BODY()
};
«Они должны быть защищены или открыты для того, чтобы быть подвергнутыми воздействию BP» - на самом деле это не так. Это была бы ужасная архитектура, если бы это было правдой. (см. Meta = (AllowPrivateAccess = true)) Я, тем не менее, испытал, чтобы дать вам преимущество в сомнении. К несчастью, это не сработало. Благодарю вас за помощь! – Jimmyt1988
@ Jimmyt1988 Ну, я не уверен - на основе обсуждения здесь https://forums.unrealengine.com/showthread.php?2125-UPROPERTY-best-pratices-question-(public-private-protected), говорит вкладчик Engine это не может быть, и другой высокопоставленный человек говорит, что может. –