はじめに
このチュートリアルでは、Diarkis Unity SDK を使用して最小限の接続シーンを作成する手順を段階的に説明します。 以下の操作を行います:
Tutorials/Tutorial1-MinimalSetupにある提供済みシーンを使用するゼロから小さなスクリプトを作成する
接続と切断を行う UI ボタンをバインドする
基本的な Diarkis イベントを登録する
Diarkis ロガーを簡単に使用する
完成済みのスクリプトを提供する代わりに、このチュートリアルでは各部分を理解できるよう段階的に構築していきます。
Scene Prerequisites
Tutorial1-MinimalSetup には、以下の要素が既に含まれているはずです:
InputField: Host
InputField: ClientKey
InputField: UID
Text: Notification / Status
Button: Connect
Button: Disconnect
GameObject with
DiarkisNetworkManagercomponent
これらのいずれかが不足している場合は、Canvas の下に追加してください。

DiarkisNetworkManager の設定
Hierarchy Viewで、new empty の GameObject を作成
Hierarchy View で 右クリック → [Create Empty]
Rename で、名前をDiarkisNetworkに変更
DiarkisNetworkを選択した状態で、Diarkis network component を追加インスペクターで
Add ComponentをクリックDiarkisNetworkManagerを検索し追加
インスペクターで本チュートリアルの基本設定を行います
ConnectOnStartを無効にするPreStoredHttpHostとPreStoredClientKeyはデフォルト値のままにする (後ほどスクリプトから UI 経由で上書きされます)PreStoredServerTypeで希望のプロトコルを選択するほとんどの場合、
UDPのままにしておく
Logger 設定は現時点ではデフォルト値のままにする (動作確認後、severity や 出力先 を調整可能)

Create the Network UI Manager script
次に、UI と 接続ロジック を制御するスクリプトを作成します。
Unity で new C# script を作成します
名前を次のように設定:
TutorialMinimalTitleManager
シーン内に空のGameObjectを作成します
名前を次のように設定:
Tutorial1Manager
TutorialMinimalTitleManagerをTutorial1Managerにアタッチします
スクリプトを開き、内容を以下の基本骨格で置き換えます:
このスクリプトは以下を行います:
UI 要素への参照を保持する
DiarkisNetworkManagerに接続または切断のタイミングを通知するDiarkisのイベントに反応する
Add UI references
UI 要素用のフィールドを宣言し、Inspector で割り当てられるようにします。
クラス内に以下を追加してください:
これらのフィールドは後で UI にリンクされます。
Register button callbacks (without logic yet)
接続ボタンが OnConnectClicked を呼び出し、切断ボタンが OnDisconnectClicked を呼び出すようにします。
まず、メソッドを宣言します(現時点では空のままです):
では、ボタンを接続するために Start メソッドを追加します:
まだ存在しない SetStatus メソッドを使用しました。次のステップで追加します。
Add a helper to update the status and buttons
以下の処理を1か所にまとめます。
通知のテキストと色を制御
どのボタンを有効/無効にするか
この 関数 をクラスに追加してください
この時点で Start メソッドはコンパイルされ、シーンには「Disconnected」と表示され、Connect ボタンだけが有効になります(Inspector で各フィールドを接続した後)。
Bind basic Diarkis events
次に Diarkis のイベントに接続します。シンプルに実装します。
On UDP connect
On UDP disconnect
On HTTP error
On UDP fail
これらのコールバックで UI を更新し、基本情報を ログ に記録します。
Start メソッドを以下のように拡張します:
実施内容の簡潔な説明:
DiarkisNetworkManager.GetEventHandler(_interfaceName) は接続用のイベントハンドラを返します。
OnUDPConnectは UDP 接続が確立(または失敗)した際に呼び出されます。OnUDPDisconnectは接続が切断されたときに呼び出されます。OnHttpErrorは HTTP 認証が失敗した場合に呼び出されます。OnUDPFailは UDP 接続の確立に失敗した場合に呼び出されます。
これを所有者として渡すことで、後でコールバックを自動的に登録解除できるようにします。
Add simple logger helpers
Logging をシンプルに保つため、2つのヘルパーメソッドを追加します。これらはDiarkisNetworkManager が既に管理しているロガーを使用します。
追加:
説明:
ここではロガーを設定せず、単に利用します。
ロガーの設定(severity レベル、ログの書き込み先)は、DiarkisNetworkManager インスペクタ内の DiarkisLoggerManager を通じて制御されます。
Implement Connect logic
ユーザーが接続ボタンをクリックした際に実際に接続するロジックを追加します。
以下の処理を行います
入力フィールドから
Host、ClientKey、UIDを読み取るそれらを
DiarkisNetworkManagerの設定に割り当てるDiarkisNetworkManager.Connectを呼び出す
OnConnectClickedを修正
注記:
実行時に PreStoredHttpHost、PreStoredClientKey、ChosenUID を上書きします。
UseRandomUID は false に設定されているため、入力フィールドからの手動 UID が使用されます。
ここでは高度なオプションは扱いません。最小限に留めることが目的です。
Implement Disconnect logic
次に、切断ボタンのハンドラを実装します。
OnUDPDisconnect(事前に登録済み)は、切断が完了した際にステータステキストを ”Disconnected” に更新します。
Unregister callbacks on destroy
オブジェクトが破棄されたとき(例えば、シーン変更時など)、このスクリプトに関連付けられたイベントコールバックを登録解除する必要があります。 追加:
コールバックを登録する際に所有者としてこれを渡したため、これでそれらを一度にすべてクリーンアップします。
Assign references in the Inspector
チュートリアル最小タイトルマネージャーを持つGameObjectを選択し、以下を割り当てます:
Host Input Field→ HostInputFieldClientKey Input Field→ ClientKeyInputFieldUID Input Field→ UIDInputFieldNetwork State Text→ NetworkStateTextConnect Button→ ConnectButtonDisconnect Button→ DisconnectButton

Optional: Adjust logger configuration
DiarkisNetworkManagerでGameObjectを開きます。 ロガー関連セクションでは以下を選択可能:
Global Logger の Severity(例:DebugまたはInfo)。Custom Logger の severity が無効の場合にのみ有効
Unityコンソールへのログ表示の有無
ファイルへのログ出力の有無
画面オーバーレイへのログ表示の有無
本チュートリアルにおける推奨設定:
Severity DebugまたはInfo
Log to Unity Console: enabled

Test the scene
プレイモードに入ります。
ゲームビューで以下を入力:
ホスト:Diarkis HTTPエンドポイント(例:127.0.0.1:7000)
クライアントキー:サーバーで要求される場合のみ入力、不要なら空欄
UID:任意の識別子(例:unity-tutorial-1)
Connect を押下
Disconnect を押下
Status: "Disconnecting..." then "Disconnected"
Buttons revert (Connect enabled, Disconnect disabled)
Final script listing (for reference)
以下は、これまでの手順で組み立てた完全なスクリプトです。 各手順を正しく実行した場合は再度貼り付ける必要はありませんが、エラー発生時の比較に役立ちます。
次のステップ
動作する最小限の接続シーンができたので、次のことができます:
このパターンを自身のタイトル画面やロビーシーンで再利用する
UIを拡張する(最後に使用した設定を保存する、より詳細なエラーメッセージを表示するなど)
次のチュートリアル(Room、MatchMaker、Field など)に進む(接続方法と基本イベントの処理方法を理解していることを前提とします)
End of Document
最終更新
役に立ちましたか?

