HowToUsePlugin.md

目次

インストール方法

1. Unity パッケージのインポート

対象のプロジェクトに、DiarkisUnityPlugin.unitypackageをインポートします。

2. 接続情報の設定

Assets/Diarkis/Prefabs/DiarkisNetworkManagerを選択し、 Inspector にDiarkisNetworkManagerのスクリプトを表示させます。

次にTransportと書かれた項目をクリックして中身を表示し、Diarkis との接続情報を以下のように設定します。

3. プレハブのシーンへの配置

設定を済ませたDiarkisNetworkManagerのプレハブを、シーンに配置します。

AutoStartConnectにチェックが入っているのを確認して(※デフォルトで On になっています)、 エディタ上部にある再生ボタンをクリックします。

これで Diarkis サーバー との接続が、自動的に開始されます。

プラグインの利用方法

DiarkisNetworkManager プレハブの設定方法

DiarkisNetworkManagerは Diarkis との接続を担う重要なクラスで、必ずシーンに配置されている必要があります。

重要な設定項目として、以下のものがあります。

ネットワークへの接続&切断をリクエストする

Diarkis ネットワークに接続(or 切断)するには、DiarkisNetworkManagerを通して関数を呼び出します。

// ネットワークへの接続&切断のサンプルコード
public void Connect(string httpHost, string clientKey)
{
    DiarkisNetworkManager.Instance.Connect(httpHost, clientKey);
}

public void Disconnect()
{
    DiarkisNetworkManager.Instance.Disconnect();
}

ネットワークへの接続&切断のレスポンスを受け取る

サーバーからの応答はイベントとして受け取ることができます。

まずイベントを発生させる為のコンポーネントをシーンに追加します。

適当なGameObjectをシーンに追加して、それにDiarkisCoreEventCallbackのコンポーネントをアタッチします。

このコンポーネントには関数を登録することができ、イベントの発生に合わせてその関数をトリガーしてくれます。

関数を登録するために、以下のようなクラスを作ります。

using UnityEngine;

public class SampleScript : MonoBehaviour
{
    // OnNetworkConnectイベントを受け取る関数
    public void ReceiveOnNetworkConnectEvent(bool reconnected)
    {
        Debug.Log("Connected to the network.");
    }

    // OnNetworkDisconnectイベントを受け取る関数
    public void ReceiveOnNetworkDisconnectEvent(bool reconnecting)
    {
        Debug.Log("Disconnected from the network.");
    }
}

このスクリプトを適当なGameObjectにアタッチし、 イベント発生時に呼ばれたい関数をDiarkisCoreEventCallbackに登録します。

こうしてサーバーからのレスポンスを受け取ることができます。

各種モジュールを利用する

Diarkisには以下のモジュールが存在します。

データの送信には、各種モジュールの該当する関数を呼び出します。

データの受信には、対応するイベント・コンポーネントをシーンに配置し、それに関数を登録することで受け取ることができます。

例としてRoomモジュールを使って部屋を新規作成してみます。

Roomモジュールからリクエストを送信する

以下のコードはRoomモジュールを使って新しい部屋を作成するコードになります。

// 新しい部屋を作成するサンプル・コード
public void CreateRoom(ushort maxMembers, bool allowEmpty, bool join, ushort ttl, uint interval)
{
    DiarkisNetworkManager.Instance.Modules.Room.Create(maxMembers, allowEmpty, join, ttl, interval);
}

Roomモジュールからレスポンスを受け取る

まず初めにシーン上に配置された適当なGameObjectDiarkisRoomEventCallbackをアタッチします。

次にイベントを受け取るために、以下のようなクラスを作成します。

using UnityEngine;

public class SampleScript : MonoBehaviour
{
    // OnRoomCreateイベントを受け取る関数
    public void ReceiveOnRoomCreateEvent(bool success, string roomId, uint roomCreatedTime)
    {
        if (success)
        {
            Debug.Log($"The room creation was succeeded. roomID={roomId}");
        }
        else
        {
            Debug.Log("The room creation was failed.");
        }
    }
}

最後にこのスクリプトをシーン上に配置し、関数をDiarkisRoomEventCallbackOnRoomCreateに登録します。

これでRoom.Createを呼び出した際の結果を、受け取ることができるようになります。

ここでは一例としてRoomモジュールを取り上げましたが、他のモジュールの使い方も同様です。

各機能のレファレンス

Core機能

プロパティ一覧(Core)

メソッド一覧(Core)

イベント一覧(Core)

Roomに関する機能

プロパティ一覧(Room)

メソッド一覧(Room)

イベント一覧(Room)

Groupに関する機能

プロパティ一覧(Group)

メソッド一覧(Group)

イベント一覧(Group)

Fieldに関する機能

プロパティ一覧(Field)

メソッド一覧(Field)

イベント一覧(Field)

MatchMakerに関する機能

プロパティ一覧(MatchMaker)

メソッド一覧(MatchMaker)

イベント一覧(MatchMaker)

P2Pに関する機能

プロパティ一覧(P2P)

メソッド一覧(P2P)

イベント一覧(P2P)

最終更新