+1 支持
(170 ポイント)

シングルプレイモードとマルチプレイモードをなるべく共通処理にしたく、以下のページを参考にして書いてみたのですが、Monobitサーバーへ接続していない状態でMonobitEngine.MonobitNetwork.offlineをtrueにしゲームオブジェクトをオンライン時と同様に

MonobitNetwork.Instantiateで生成しようとしたのですが、戻り値がnullとなり生成されませんでした。オフライン時のサンプルなどございましたらいただけると助かります。どうぞよろしくお願いいたします。

http://www.monobitengine.com/doc/mun/contents/FeatureClient/OfflineMode.htm

回答 2

0 支持
(170 ポイント)

このような挙動の説明のドキュメントなどございますでしょうか。

https://doc.photonengine.com/ja-jp/pun/current/gameplay/offlinemode

+1 支持
(1.4k ポイント)

> MonobitNetwork.Instantiateで生成しようとしたのですが、戻り値がnullとなり生成されませんでした。オフライン時のサンプルなどございましたらいただけると助かります。どうぞよろしくお願いいたします。

おそらく MonobitNetwork.Instantiate の仕様で
http://www.monobitengine.com/doc/mun/contents/FeatureClient/Instantiate.htm
の事前設定の仕様で「ルームに入室していない状態で出現させることはできません」とあるので、まずは(MonobitNetwork.CreateRoomを使って)ルームに入室している状態にするだけで解決するような気がします。

http://www.monobitengine.com/doc/mun/contents/FeatureClient/OfflineMode.htm にある方法、つまり「OnDisconnectServer が実行された状態」だと少なくとも「ルームの外にいる」状態なのでうまく行くはずもないので、これはドキュメントが悪い気がしますね。

あと、単純に挙動を確認したいのであれば、MUNのもともとのサンプルのうち、MonobitNetwork.ConnectServer を呼び出す直前に MonobitNetwork.offline = true; を埋め込めば確認できるかと思います。
        public void Awake()
        {

            // 何らかの処理

            // オフラインモードにするための設定を追加する
            MonobitNetwork.offline = true;

            // MUNサーバに接続する(もとからあるもの)
            MonobitNetwork.ConnectServer("KeyValueSearch_v1.0");
        }
 

...