protected:
    // UI初始化时调用(类似BeginPlay)
    virtual void NativeConstruct() override;
    // UI销毁时调用(用于解绑委托)
    virtual void NativeDestruct() override;

void ULevelLoadWidget::NativeConstruct()
{
    Super::NativeConstruct();

    
    // 2. 绑定委托(确保管理器有效)
    if (MapLoaderManager)
    {
    }
    else
    {
    }
}

void ULevelLoadWidget::NativeDestruct()
{
    Super::NativeDestruct();

    // 3. 必须解绑委托(防止Widget销毁后管理器仍调用回调,导致崩溃)
    if (MapLoaderManager)
    {
        
    }
}

更多推荐