ホストの移譲

目次

  概要
  事前設定
  MonobitEngine.MonobitNetwork.ChangeHost メソッド


概要

任意のユーザーにホストを移譲する

  原則的に、サーバから認定されるホストは、ルームの作成者が担当します。
  ホストが退室したり、通信途中で切断したり、アプリケーションを終了したりした場合、
  「ルーム内で最も古く入室したプレイヤー」に、自動的にホストが移譲されます。

  そのため、基本的にホストの移譲については考える必要はありません。

  ただし、「どうしてもホストを変更したい」ケースが発生する場合には、この機能をお使いください。


事前設定

自身がホストである必要があります

  ホスト以外が「ホスト移譲」を実行しても、処理要求は無視されます。


MonobitEngine.MonobitNetwork.ChangeHost メソッド

機能

  サーバに依頼して、別のプレイヤーにホストの権限を委譲します。

引数

変数名 内容
MonobitEngine.MonobitPlayer hostPlayer ホストの権限を委譲する、相手のプレイヤー情報

戻り値

内容
bool 成功したら true、失敗したら false を返します。

記述例

// ボタンの入力により、現在いる自分以外の誰かにホスト権限を移譲します。
class Foo : MonobitEngine.MonoBehaviour
{
    ...
    
    void OnGUI()
    {
        ...
        
        if( MonobitEngine.MonobitNetwork.isHost && MonobitEngine.MonobitNetwork.otherPlayersList.Length > 0 )
        {
            if( GUILayout.Button( "任意プレイヤーにホストを移譲" ) )
            {
                int index = UnityEngine.Random.Range( 0, MonobitEngine.MonobitNetwork.otherPlayersList.Length - 1 );
                MonobitEngine.MonobitNetwork.ChangeHost( MonobitEngine.MonobitNetwork.otherPlayersList[index] );
            }
        }
        
        ...
    }
    
    ...
}