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

パーティーメニューの追加 - パーティー入門 - (Unity モジュール)

Last updated on February 4, 2026

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

メニューの内容

このセクションでは、パーティーメンバーを表示するための UI を準備する方法を学びます。これらの UI は以下のクラスで定義されています:

  • PartyMenu_Starter: パーティーメンバーを表示するために使用される C# クラス。

    • CS ファイル: Assets/Resources/Modules/Play/PartyEssentials/Scripts/UI/PartyMenu_Starter.cs
    • Prefab ファイル: Assets/Resources/Modules/Play/PartyEssentials/Prefabs/PartyMenu_Starter.prefab
  • PartyMemberEntry: 表示名やアバターなど、個々のパーティーメンバー情報を表示するために使用される C# クラス。

    • CS ファイル: Assets/Resources/Modules/Play/PartyEssentials/Scripts/UI/PartyMemberEntry.cs
    • Prefab ファイル: Assets/Resources/Modules/Play/PartyEssentials/Prefabs/PartyMemberEntry.prefab

これらの UI がどのように構築されているかの詳細を見ていきましょう。

パーティーメニュー

以下は PartyMenu_Starter プレハブのプレビューです。このプレハブは、パーティーメンバーを表示するコンテナとパーティーから退出するボタンで構成されています。

PartyMenu_Starter preview image Unity Byte Wars introduction to party

このメニューで使用されるコンポーネントは、PartyMenu_Starter クラスで定義されています。

[SerializeField] private Transform memberEntryContainer;
[SerializeField] private PartyMemberEntry memberEntryPrefab;

[SerializeField] private AccelByteWarsWidgetSwitcher widgetSwitcher;
[SerializeField] private Button leaveButton;
[SerializeField] private Button backButton;

パーティーメンバーエントリー

以下は PartyMemberEntry プレハブのプレビューです。このプレハブには2つの状態があります:個々のパーティー情報を表示する状態と、新しいパーティーメンバーを追加するボタンを表示する状態です。

以下は、個々のパーティーメンバー情報を表示する状態のプレビューです:

PartyMemberEntry individual party member info preview Unity Byte Wars introduction to party

以下は、パーティーメンバー追加ボタンを表示する状態のプレビューです:

PartyMemberEntry add party member button preview Unity Byte Wars introduction to party

これらの状態を切り替えるために、PartyMemberEntry クラスファイルには以下の関数があります。SetPartyMember() はパーティーメンバー情報を表示するために使用され、ResetPartyMember() はパーティーメンバー追加ボタンを表示するために使用されます。

public void SetPartyMember(AccelByte.Models.AccountUserPlatformData memberUserData, bool isLeader)
{
cachedMemberUserData = memberUserData;

SetPartyMemberColor(isLeader ? leaderColor : memberColor);
memberNameText.text = AccelByteWarsOnlineUtility.GetDisplayName(memberUserData);
avatarImage.LoadImage(memberUserData.AvatarUrl);

// Switch view to display member information.
memberButton.gameObject.SetActive(true);
addMemberButton.gameObject.SetActive(false);

// Only set button interaction for non-current user entry.
SetInteractable(GameData.CachedPlayerState.PlayerId != memberUserData.UserId);
}
public void ResetPartyMember() 
{
memberNameText.text = string.Empty;
avatarImage.ResetImage();
SetPartyMemberColor(Color.white);

// Switch view to display add member button.
memberButton.gameObject.SetActive(false);
addMemberButton.gameObject.SetActive(true);
SetInteractable(true);
}

以下は、このプレハブで使用されるコンポーネントの宣言です。これらの宣言は PartyMemberEntry クラスにあります。

[SerializeField] private Image outlineImage;
[SerializeField] private AccelByteWarsAsyncImage avatarImage;
[SerializeField] private TMP_Text memberNameText;
[SerializeField] private Button memberButton;
[SerializeField] private Button addMemberButton;

プレイヤーアクションメニュー

フレンドリストの表示モジュールで概説されたこのフレンド詳細メニューは、フレンド詳細の表示に加えて、アクションボタンを表示するプレイヤーアクションメニューとしても機能します。これらのボタンは実行時に動的に生成されます。

このモジュールでは、使用する3つの生成されたボタンがあります。それらは、パーティー招待の送信、パーティーからのプレイヤーのキック、パーティーメンバーを新しいリーダーに昇格させるためのボタンです。

Unfriend button and unblock button Unity Byte Wars introduction to party

これらのボタンは、PartyEssentialsWrapper_Starter クラスで定義された以下の関数にバインドされています。これについては次のセクションで詳しく説明します。

public void OnInviteToPartyButtonClicked(string inviteeUserId)
{
// TODO: Call function to send party invite.
}
public void OnKickPlayerFromPartyButtonClicked(string targetUserId)
{
// TODO: Call function to kick player from party.
}
public void OnPromotePartyLeaderButtonClicked(string targetUserId)
{
// TODO: Call function to promote party leader.
}

UI の準備

このセクションでは、前のセクションで説明したメニューを有効にする方法を学びます。

  1. プロジェクトをビルドし、Unity エディターで開きます。エディターで、Assets/Resources/Modules/Play/PartyEssentials に移動し、PartyEssentialsAssetConfig.asset を開きます。次に、Is Active チェックボックスと Is Starter Active チェックボックスにチェックを入れて、スターターモードでモジュールを有効にします。

  2. 次に、エディターでゲームをプレイします。メインメニュー > ソーシャル > パーティーに移動できるようになります。

リソース