・所有権を持つプレイヤーがルームから退室した場合 ・所有権を持つプレイヤーがアプリケーションを終了させた場合 ・所有権を持つプレイヤーのネットワーク回線が途中で切断してしまった場合 ・ルームが消去された場合 ・(isDontDestroyOnLoad パラメータを false に設定した場合のみ)シーンを変更した場合 ・(isDontDestroyOnRoom パラメータを true に設定しない場合のみ)所有権を保有するクライアントがルームから退室した場合
型 変数名 内容 MonobitView tagetView 破棄対象となる GameObject が所持する MonobitView 情報
型 内容 void -
/*
* 外部から UnityEngine.Destroy の実行された場合に、
* 自身を「ネットワーク越しに削除できる」クラスを作成します。
*/
class
Foo : MonobitEngine.MonoBehaviour
{
...
void
OnDestroy()
{
MonobitNetwork.Destroy(monobitView);
}
...
}
型 変数名 内容 MonobitView gameObject 破棄対象となる GameObject
型 内容 void -
/*
* 衝突してきた GameObject を「ネットワーク越しに削除」します。
* (Collider/Rigidbodyが有効である必要があります。)
*/
class
Foo : MonobitEngine.MonoBehaviour
{
...
void
OnCollisionEnter(Collision collision)
{
MonobitNetwork.Destroy(collision.gameObject);
}
...
}
型 変数名 内容 MonobitPlayer targetPlayer 破棄対象となるプレイヤー情報
型 内容 void -
/*
* 衝突されたら、「ネットワーク越し」に、相手が保有する全オブジェクトを消滅させます。
* (Collider/Rigidbodyが有効である必要があります。)
*/
class
Foo : MonobitEngine.MonoBehaviour
{
...
void
OnCollisionEnter(Collision collision)
{
MonobitNetwork.DestroyPlayer(MonobitView.Get(collision.gameObject).owner);
}
...
}
型 変数名 内容 int targetPlayerId 破棄対象となるプレイヤーのID
型 内容 void -
/*
* 衝突されたら、「ネットワーク越し」に、自分の所有する全オブジェクトを消滅させます。
* (Collider/Rigidbodyが有効である必要があります。)
*/
class
Foo : MonobitEngine.MonoBehaviour
{
...
void
OnCollisionEnter(Collision collision)
{
MonobitNetwork.DestroyPlayer(MonobitNetwork.player.ID);
}
...
}
型 変数名 内容 - - -
型 内容 void -
/*
* ホストがボタンを押したら、ルーム内の全てのオブジェクトが消滅します。
*/
class
Foo : MonobitEngine.MonoBehaviour
{
...
void
OnGUI()
{
...
if
( MonobitNetwork.isHost )
{
if
( GUILayout.Button(
"ルーム内の全オブジェクト消滅ボタン"
) )
{
MonobitNetwork.DestroyAll();
}
}
...
}
...
}