LoginSignup
4
1

More than 5 years have passed since last update.

モノビットエンジンでかんたんサーバ接続

Last updated at Posted at 2019-04-19

前回はサンプルを動かすところまでを確認しました。(前の記事はこちら!)
今回は中身のスクリプトをひも解きながら、サーバ接続の基本について学びたいと思います。

今回やりたいこと

  1. サーバに接続する
  2. ルームを作成&入室する

以上をGUI表示でするところまでおこないます。

はじめに注意すること

GameObjectに対してモノビットエンジンのメソッドを使いたいときは、
以下の2点が条件です。これ忘れずに。

  • MonobitEngine.Monobehaviourを継承
  • MonovitView.csのアタッチ
Sample,cs
// namespaceを宣言
using MonobitEngine;
// MonobitEngine.Monobehaviourを継承する
public class SampleClass : MonobitEngine.MonoBehaviour

image01.PNG

サーバに接続する

NetworkConnectionSample.cs
// デフォルトロビーへ自動入室を許可する
MonobitNetwork.autoJoinLobby = true;

// MUNサーバに接続する
MonobitNetwork.ConnectServer("v1.0");

ロビーとは?

ルームに入るまえの待合場所。
たとえば、ロビーごとにレベル制限を設けておき、レイドバトルの時にレベルが低い人はルームに入れさせないことが可能だったりする。

デフォルトロビーとは?

自動的に放り込まれる待合場所。
「ご新規の方はこちらでお待ちくださいねー」的な感じ。

MonobitNetwork.autoJoinLobby = true;
サーバに入ったとき自動的にデフォルトロビーに通す設定。
falseにする場合、ロビー入室処理をべつに書く必要がある。
参考リンク

MonobitNetwork.ConnectServer("v1.0")
サーバーに対して"つなぎたい"という要求を送信するメソッド。
要求が受理されるとtrue、無効だとfalseがかえってくる。
trueがかえってくるまでこのメソッドを呼び続けて、ロビー入室処理に進まないようにするのがベストらしい。
つなぎたいサーバのバージョンを指定している。文字列はhogeでもfugaでも何でもいい。
たとえば、v1.0→v1.1へバージョンアップをしたときなどに、前のバージョンの住人とマッチングさせたくないときに使える。
参考リンク

ルームを作成&入室する

NetworkConnectionSample.cs
// MUNサーバに接続しているとき
if (MonobitNetwork.isConnect)
{
    // ルームにまだ入室していないとき
    if(!MonobitNetwork.inRoom)
    {
        // ルーム名
        string roomName = "";

        // ルーム名の入力
        GUILayout.BeginHorizontal();
        GUILayout.Label("RoomName : ");
        roomName = GUILayout.TextField(roomName, GUILayout.Width(200));
        GUILayout.EndHorizontal();

        // ルームを作成
        if (GUILayout.Button("Create Room", GUILayout.Width(100)))
        {
            MonobitNetwork.CreateRoom(roomName);
        }
    }
}

ルームとは?

ロビーに紐づいた部屋。
ロビーには複数のルームがあってもよい。

MonobitNetwork.CreateRoom(roomName);
ルームを作成して入室するメソッド。
引数なしだと最大人数無制限、入室可で公開されたルームを作成する。
引数ありで人数制限、公開非公開、入室許可などの設定ができる。
参考リンク

最後に

サーバ接続の基本的な方法のメモになりましたが今回はここまで。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1