MUNのネットワーク制御スクリプトを追加する

目次

  概要

  空のオブジェクトの作成
  空のオブジェクトに MonobitView コンポーネントを追加する
  ネットワーク制御のためのスクリプトを追加する
  シーンデータを保存する

  ネットワーク制御のためのスクリプトを開く
  ネットワーク制御を本格的に組み込むまでの下準備
  ここまでのNetworkControl.csの内容


概要

ネットワーク通信制御をプログラミングするための、空のスクリプトを組み込む

  さて、素材の準備が一通り整ったところで、ここから本格的にネットワークのためのプログラミングに入ります。
  まずは空のオブジェクトを用意し、そこにスクリプトを追加しましょう。

【注記】このページ内容を反映させても、実行ボタンを押して正常な結果を得ることはできません。

  前述のページと同様、このページ内容を反映させても、実行ボタンを押した結果として正常動作しません。
  ご注意ください。


空のオブジェクトの作成

空のオブジェクトを作成する

  Unity メニューから GameObject > Create Empty を選択してください。
  Hierarchy に「空のオブジェクト」である GameObject が生成されます。


空のオブジェクトに MonobitView コンポーネントを追加する

MonobitView コンポーネントの追加

  作成した GameObject をクリックします。
  Inspector に表示される [Add Component] のボタンを押します。
  プルダウンメニューから Monobit Networking > Monobit View を選びます。
  以下のように、Inspector に Monobit View が登録されます。

MonobitView ID を変更する

  追加した Monobit View に対し、IDの変更を行ないます。
      ※ デフォルト値は 0 ですが、シーン上に配置された静的オブジェクトの場合、
      この値を 1~999 の範囲で設定する必要があります。

  今回はこの数値を「1」に変更し、Enterで適用させましょう。


ネットワーク制御のためのスクリプトを追加する

空のオブジェクトに新規スクリプトを追加する

  もう一度 Inspector にある、[ Add Component ] のボタンを押します。
  プルダウンメニューから New Script を選びます。(メニューリストの一番下にあります)
  Name 欄に NetworkControl と入力し、[Create and Add] ボタンを押します。
  以下のように、Inspector に NetworkControl が登録されます。


シーンデータを保存する

シーンデータを保存する

  ここで一旦、Unity での作業が一息つきますので、シーンデータを保存しましょう。
  Unity のメニューから File > Save (または File > Save Scene) を選択してください。


ネットワーク制御のためのスクリプトを開く

追加したスクリプトを開く

  Inspector に追加された「NetworkControl」を開きます。
  Inspector 内の Network Control の欄にある、以下の赤枠内をダブルクリックしてください。
  VisualStudio(またはMonoDevelop)が起動し、NetworkControl がテキストとして開きます。


ネットワーク制御を本格的に組み込むまでの下準備

MUNを利用するため、using ディレクティブを登録する

  開いた NetworkControl.cs の 4行目付近に、以下の一文を追加してください。
using MonobitEngine;
  スクリプト上で MUN 用のコードを自由に記述できるよう、 MonobitEngine の using ディレクティブを入れておきます。

MonobitEngine.MonoBehaviour を継承する

  NetworkControl の 6行目付近の「MonoBehaviour」について、「MonobitEngine.MonoBehaviour」に変更しましょう。
public class NetworkControl : MonobitEngine.MonoBehaviour {
  MonobitEngine.MonoBehaviour は UnityEngine.MonoBehaviour を継承していますので、
  本来の UnityEngine.MonoBehaviour と同じ感覚で使用することができます。
  加えて、MUNが提供する様々な機能を使用することもできます。

OnGUI() を作る

  NetworkControl の 15 行目付近の「Update()」について、「OnGUI()」に変更しましょう。
    ※ 出来れば 14 行目付近のコメントも変えておきましょう。
	// OnGUI is called for rendering and handling GUI events
	void OnGUI()
	{
		
	}
  一般的な Unity プログラミング同様、MonoBehaviourを継承したクラス内で OnGUI() を定義します。
  継承するクラスが MonobitEngine.MonoBehaviour になっても、ここは変わりません。


ここまでのNetworkControl.csの内容


  ここまでの NetworkControl.cs の内容は以下の通りです。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MonobitEngine;

public class NetworkControl : MonobitEngine.MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // OnGUI is called for rendering and handling GUI events
    void OnGUI()
    {
        
    }
}