#はじめに
キック機能について書いてあるところが少ない気がしたので。
まあ簡単すぎて書くほどのことでもないと判断されているのかもしれないし、私が情弱なだけかもしれないですが。
メモとして残します。
ちなみにキックとは、オンラインゲームでプレイヤーをルームから追い出す機能です。
###作業環境
Unity2019.1.8f1
PUN2.13
##対象プレイヤーをキックする
PhotonNetwork.CloseConnection(Player kickPlayer);
PhotonNetwork.CloseConnection関数の引数に、キックしたいプレイヤーを渡すだけです。
ただし、MasterClientのみが使用可能であることに注意。
##自分がキックされたことを知る
キックされたことを知る関数があるかどうかは、正直調べがついてないです。
ご存知の方が居ましたら教えてください。
というわけで、私はコールバック関数**OnLeftRoom()**にて、退室した際に通知を受け取ることで対処しています。
ただし、自分で退室したのか、ホストにキックされたのかはわからないので、自力でフラグ管理することで判断しました。
public class PhotonNetworkManager : MonoBehaviourPunCallbacks
{
//
//~接続処理とか。
//
//部屋から退室した時
public override void OnLeftRoom()
{
if(PushBackKey) //退室ボタンを押して自分で退室した
{
Debug.Log("退室しました。");
}
else
{
Debug.Log("キックされました。"); //退室ボタンを押していないが退室した→つまりキックされた
}
}
}
これで事足りるから準備されてない感じだったりするんですかね?
####参考
[【Unity】僕もPhotonを使いたい #05 ルームからの流れ]
(https://www.urablog.xyz/entry/2016/09/17/234255#ルームにいる状態からの流れ)
[【Unity】2. Photonに接続してロビーに入る【PUN2】]
(https://gamefbb.com/%e3%80%90unity%e3%80%91photon%e3%81%ab%e6%8e%a5%e7%b6%9a%e3%81%97%e3%81%a6%e3%83%ad%e3%83%93%e3%83%bc%e3%81%ab%e5%85%a5%e3%82%8b%e3%80%90pun2%e3%80%91/)
#最後に
いざ書いてみたら、たしかに書くことが少なかったですね。
でもメモしてないと後々また探しそうなので・・・。