フレンドリクエストメニューを追加する - フレンドを追加する - (Unity モジュール)
注釈:本資料はAI技術を用いて翻訳されています。
メニューの内容
このチュートリアルでは、送信または受信したフレンドリクエストを表示および処理するために使用するユーザーインターフェース(UI)を準備する方法を学びます。UI ファイルは リソース セクションで入手でき、以下で構成されています。
-
FriendRequestsMenu_Starter: 受信したフレンドリクエストを表示する UI メニュー。
- C# ファイル:
Assets/Resources/Modules/Social/FriendsEssentials/Scripts/UI/FriendRequestsMenu_Starter.cs - Prefab ファイル:
Assets/Resources/Modules/Social/FriendsEssentials/Prefabs/FriendRequestsMenu_Starter.prefab
- C# ファイル:
-
SentFriendRequestsMenu_Starter: 送信したフレンドリクエストを表示する UI メニュー。
- C# ファイル:
Assets/Resources/Modules/Social/FriendsEssentials/Scripts/UI/SentFriendRequestsMenu_Starter.cs - Prefab ファイル:
Assets/Resources/Modules/Social/FriendsEssentials/Prefabs/SentFriendRequestsMenu_Starter.prefab
- C# ファイル:
-
FriendEntry: 表示名、アバター、アクションボタンなどのフレンドリクエスト情報を表示する UI コンポーネント。
- C# ファイル:
Assets/Resources/Modules/Social/FriendsEssentials/Scripts/UI/FriendEntry.cs - Prefab ファイル:
Assets/Resources/Modules/Social/FriendsEssentials/Prefabs/FriendEntry.prefab
- C# ファイル:
これらの UI メニューの Prefab を確認して、詳細情報を参照してください。
フレンドリクエストメニュー
以下は FriendRequestsMenu_Starter.prefab のプレビューです。このメニューは送信されたフレンドリクエストを表示するために使用されます。

この Prefab で使用されるコンポーネントは、FriendRequestsMenu_Starter.cs ファイルで宣言されています。以下は、この Prefab で使用されるコンポーネントの宣言です。
[Header("Friend Request Components")]
[SerializeField] private GameObject friendEntryPrefab;
[Header("Menu Components")]
[SerializeField] private AccelByteWarsWidgetSwitcher widgetSwitcher;
[SerializeField] private RectTransform resultContentPanel;
widgetSwitcher コンポーネントは、デフォルトビュー、読み込み状態、空の結果状態、エラー状態など、メニューを異なる状態間で切り替えるために使用されます。resultContentPanel は、friendEntryPrefab を使用してエントリをインスタンス化することで、フレンドリクエストリストを表示するために使用されます。
送信済みフレンドリクエストメニュー
以下は SentFriendRequestsMenu_Starter.prefab のプレビューです。このメニューは受信したフレンドリクエストを表示するために使用されます。

この Prefab で使用されるコンポーネントは、SentFriendRequestsMenu_Starter.cs ファイルで宣言されています。この Prefab は、以下のコンポーネント宣言を使用します。
[Header("Friend Request Components")]
[SerializeField] private GameObject friendEntryPrefab;
[Header("Menu Components")]
[SerializeField] private AccelByteWarsWidgetSwitcher widgetSwitcher;
[SerializeField] private RectTransform resultContentPanel;
[SerializeField] private Button backButton;
widgetSwitcher コンポーネントは、デフォルトビュー、読み込み状態、空の結果状態、エラー状態など、メニューを異なる状態間で切り替えるために使用されます。resultContentPanel は、friendEntryPrefab を使用してエントリをインスタンス化することで、フレンドリクエストリストを表示するために使用されます。
フレンドエントリ
以下は FriendEntry.prefab のプレビューです。これは、表示名、アバター、アクションボタンなどの受信および送信されたフレンドリクエスト情報を表示するために使用されます。


この Prefab で使用されるコンポーネントは、FriendEntry.cs ファイルで宣言されています。以下は、これらのコンポーネントの宣言です。
[SerializeField] private Image friendImage;
[SerializeField] private TMP_Text friendName;
[SerializeField] private Button rejectButton;
[SerializeField] private Button acceptButton;
[SerializeField] private Button cancelButton;
これらのコンポーネントを操作するために、スクリプトには以下のパブリックゲッターがあります。
public Image FriendImage => friendImage;
public TMP_Text FriendName => friendName;
public Button CancelButton => cancelButton;
public Button RejectButton => rejectButton;
public Button AcceptButton => acceptButton;
UI の準備
このセクションでは、フレンドリクエストメニューと送信済みフレンドリクエストメニューの両方の UI を準備する方法を学びます。
-
FriendRequestsMenu_Starter.csファイルを開きます。LoadIncomingFriendRequestsという関数が表示されます。後で、この関数を実装して、すべての受信フレンドリクエストをクエリします。private void LoadIncomingFriendRequests()
{
// TODO: Implement Load Incoming Friend Requests here.
BytewarsLogger.LogWarning("The LoadIncomingFriendRequests method is not implemented yet");
} -
FriendRequestsMenu_Starter.csファイルで、OnEnable()関数を見つけます。この関数は、UI が有効になったときに呼び出されます。private void OnEnable()
{
// TODO: Define Module Wrappers and Load Incoming Friend Requests here.
} -
SentFriendRequestsMenu_Starter.csファイルを開きます。LoadOutgoingFriendRequestsという関数が表示されます。後で、この関数を実装して、すべての送信フレンドリクエストをクエリします。private void LoadOutgoingFriendRequests()
{
// TODO: Implement Load Outgoing Friend Requests here.
BytewarsLogger.LogWarning("The LoadOutgoingFriendRequests method is not implemented yet");
} -
SentFriendRequestsMenu_Starter.csファイルで、OnEnable()関数を見つけます。この関数は、UI が有効になったときに呼び出されます。private void OnEnable()
{
// TODO: Define Module Wrappers and Load Outgoing Friend Requests here.
} -
Unity エディターで、
Assets/Resources/Modules/Social/FriendsEssentialsに移動し、FriendsEssentialsAssetConfigアセットファイルを開き、Is Starter Activeが true に設定されていることを確認します。 -
エディターでゲームをプレイし、ログインして、Social > Friends Requests に移動します。ここまでの実装が成功していれば、フレンドリクエストメニューを開くことができ、以下のログが表示されます。
[FriendRequestsMenu_Starter.cs] [LoadIncomingFriendRequests] [Warning] [79] - The LoadIncomingFriendRequests method is not implemented yet -
エディターでゲームをプレイしている間、Social > Sent Friend Requests に移動します。ここまでの実装が成功していれば、送信済みフレンドリクエストメニューを開くことができ、以下のログが表示されます。
[SentFriendRequestsMenu_Starter.cs] [LoadOutgoingFriendRequests] [Warning] [79] - The LoadOutgoingFriendRequests method is not implemented yet
リソース
- このチュートリアルで使用されるファイルは、Unity Byte Wars GitHub リポジトリで入手できます。
- Assets/Resources/Modules/Social/FriendsEssentials/FriendsEssentialsAssetConfig.asset
- Assets/Resources/Modules/Social/FriendsEssentials/Prefabss/FriendRequestsMenu_Starter.prefab
- Assets/Resources/Modules/Social/FriendsEssentials/Scripts/UI/FriendRequestsMenu_Starter.cs
- Assets/Resources/Modules/Social/FriendsEssentials/Prefabss/SentFriendRequestsMenu_Starter.prefab
- Assets/Resources/Modules/Social/FriendsEssentials/Scripts/UI/SentFriendRequestsMenu_Starter.cs
- Assets/Resources/Modules/Social/FriendsEssentials/Prefabs/FriendEntry.prefab
- Assets/Resources/Modules/Social/FriendsEssentials/Scripts/UI/FriendEntry.cs