メインコンテンツまでスキップ

Put it all together - Wallet Essentials - (Unreal Engine module)

Last updated on February 4, 2026

注釈:本資料はAI技術を用いて翻訳されています。

プレイヤーのウォレット情報を表示するためにUIを接続する

  1. WalletBalanceWidget_Starter CPPファイルを開き、NativeOnActivated() 関数に移動して、既存の実装を以下のコードに置き換えます。この更新されたコードは、前のページで実装した WalletEssentialsSubsystem_Starter のレスポンスデリゲートに ShowBalance() 関数をバインドします。この設定により、WalletBalanceWidget_Starter ウィジェットが再アクティブ化されるたびにウォレット情報が更新されます。

    void UWalletBalanceWidget_Starter::NativeOnActivated()
    {
    Super::NativeOnActivated();

    WalletSubsystem = GetGameInstance()->GetSubsystem<UWalletEssentialsSubsystem_Starter>();
    ensure(WalletSubsystem);

    WalletSubsystem->OnQueryOrGetWalletInfoCompleteDelegates.AddUObject(this, &ThisClass::ShowBalance);

    // Update balance.
    W_Root->ClearChildren();
    CurrencyBalanceEntryMap.Empty();

    UpdateBalance(ECurrencyType::COIN);
    UpdateBalance(ECurrencyType::GEM);
    }
  2. NativeOnDeactivated() 関数に移動して、既存の実装を以下のコードに置き換えます。このコードは WalletEssentialsSubsystem_Starter のレスポンスデリゲートへのバインディングをクリアし、ウィジェットが非アクティブ化されたときに更新がトリガーされないようにします。

    void UWalletBalanceWidget_Starter::NativeOnDeactivated()
    {
    Super::NativeOnDeactivated();

    WalletSubsystem->OnQueryOrGetWalletInfoCompleteDelegates.RemoveAll(this);
    }
  3. UpdateBalance() 関数に移動して、既存の実装を以下のコードに置き換えます。このコードは、前のページで実装した WalletEssentialsSubsystem_StarterQueryOrGetWalletInfoByCurrencyCode() 関数を呼び出します。

    void UWalletBalanceWidget_Starter::UpdateBalance(const ECurrencyType CurrencyType)
    {
    const FString CurrencyCode = FPreConfigCurrency::GetCodeFromType(CurrencyType);

    UWalletBalanceWidgetEntry* Entry = CreateWidget<UWalletBalanceWidgetEntry>(this, CurrencyBalanceClass);
    ensure(Entry);

    Entry->Setup(FText::FromString("..."), CurrencyType);
    W_Root->AddChild(Entry);
    CurrencyBalanceEntryMap.Add(CurrencyCode, Entry);

    // Always retrieve from backend to make sure data is updated.
    WalletSubsystem->QueryOrGetWalletInfoByCurrencyCode(GetOwningPlayer(), CurrencyCode, true);
    }

リソース