APIPhotonNetworkプラグインを使うためのメインクラスです。このクラスは静的クラスです。senderId)OnEventCallのデリゲートを使用可能にするかを決めます。cp)オフラインのとき、ネットワークプロトコルを切り替え可能になります(これは使用可能ポートに接続するときに影響します)。gameVersion)エディタで設定したようにPhotonに接続します(PhotonServerSettingsファイルに保存されます)。gameVersion)PhotonマスターサーバーにIPアドレス・ポート・appIDとゲーム(クライアント)バージョンで接続します。()切断後、マスタサーバーに再接続するために使用することができます。()クライアントがゲームプレイ中に接続を失った場合、このメソッドは再接続してルームへの再入室を試みます。Cloudに接続します。Cloudの地域に接続します。gameVersion)で使われている地域を上書きします。()クラウドサーバーすべてに再pingして、(現在)ping値が最もよいものを探します。()通信量統計をリセットして、再有効化します。()NetworkStatisticsEnabledがいくつかの統計をまとめるのに使われたときのみ、使用できます。Networkingとの互換性のためだけに使われます。暗号化については接続時に自動で初期化されます。()このクライアントをPhotonサーバーと、Roomに残るプロセスから回線切断します。OnDisconnectedFromPhotonを完了時に呼びます。friendsToFind)フレンド一覧のRoomとオンライン状況をリクエストします。結果をPhotonNetwork.Friendsに格納します。roomName)指定した名前でRoomを作成します。その名前のRoomがすでにあるときは失敗します。typedLobby)ルームを作成しますが、ルームがすでに存在している場合は失敗します。マスタサーバでのみ呼び出すことができます。expectedUsers)指定した名前でRoomを作成します。その名前のRoomがすでにあるときは失敗します。マスターサーバーだけから呼ぶことができます。roomName)roomnameでルームに参加して、成功時に​​OnJoinedRoom()を呼び出します。これは、ロビーには影響されません。expectedUsers)roomnameでルームに参加して、成功時に​​OnJoinedRoom()を呼び出します。これは、ロビーには影響されません。typedLobby)名前付きのRoomに入室するか、その場でRoom作成するかします。誰かがすでにRoomを作ったかどうかは知らなくてもかまいません。expectedUsers)名前を付けられたルームに参加するか、その場で作成することができます。誰かがすでにルームを作成したかどうかを知る必要はありません。()現在使われているロビーの、有効なRoomのどれかに入室します。有効なRoomがなければ失敗します。expectedMaxPlayers)独自プロパティのマッチした、空いているRoomに入室しようとします。現在有効なRoomがない場失敗します。expectedUsers=null)独自プロパティのマッチした、空いているRoomに入室しようとします。現在有効なRoomがない場合失敗します。roomName)切断後にルームに戻り、再接続するために使用することができます。()マスターサーバー上で、デフォルトロビーに入ります。そのロビーでは、現在使用中のRoom一覧をみることができます。typedLobby)マスターサーバー上でロビーに入って、有効なRoomの一覧を得ることができます。()ロビーから出ます。有効なRoomについて更新を受け取るのを停止します。()現在のRoomを退室して、マスターサーバーに戻ります。マスターサーバーではRoomに入室したりRoom作成できます。remarksをご覧ください。sqlLobbyFilter)サーバからゲームのカスタムリストを取得し、SQLのような「where」節に一致させて、OnReceivedRoomListUpdateコールバックをトリガーします。()現在把握されているRoomをRoomInfo配列で取得します。ロビーにいるとき利用できて更新されます(insideLobbyをチェックしてください)。customProperties)この(ローカル)プレイヤーのプロパティをセットして、他のプレイヤーにも同期します(直接編集しないでください)。customPropertiesToDelete)「この」プレイヤーの独自プロパティをローカルで削除します。この挙動はRoomを切り替えるとき便利です。options)Room内の、一からカスタマイズ可能なイベントを送信します。(0..199)と内容で構成されています。()現在/ローカルのプレイヤーに妥当なviewIDを割り当てます。Clientに対して、シーンオブジェクトに妥当なviewIDを割り当てさせることができます。viewID)(手動でインスタンス作成されて破棄されたネットワーク上のオブジェクトの)viewIDの割り当てを解除します。group)ネットワーク越しにプレハブからインスタンス作成します。このプレハブは"Resources"フォルダー直下に配置されている必要があります。data)ネットワーク越しにプレハブからインスタンス作成します。このプレハブは"Resources"フォルダー直下に配置されている必要があります。data)ネットワーク越しにプレハブからインスタンス作成します。このプレハブは"Resources"フォルダー直下に配置されている必要があります。()現在の、Photonサーバーへの往復にかかる時間。()即座にRPCを送信しInstantiate(インスタンス作成)を呼び出すのに使われます。それらは他のプレイヤーに向かいます。kickPlayer)クライアントに回線切断(KICK)をリクエストします。Clientのみが実行可能です。Clientに割り当ててもらいます。targetView)PhotonViewが静的でないか、このクライアントの制御下ならば、GameObjectとそれに関連したPhotonViewをネットワーク上から破棄します。targetGo)PhotonViewが静的でないか、このクライアントの制御下ならば、GameObjectとそれに関連したPhotonViewをネットワーク上から破棄します。targetPlayer)ターゲットプレイヤーのGameObject・PhotonView・それらの発したRPCをすべてネットワーク上から破棄します。Client(全員にむけて)です。targetPlayerId)(IDで指定した)プレイヤーのGameObject・PhotonView・それらの発したRPCをすべてネットワーク上から破棄します。Client(全員にむけて)です。()Room内のGameObject・PhotonView・それらの発したRPCをすべてネットワーク上から破棄します。サーバーにバッファリングされたすべてを削除します。Client(全員にむけて)だけです。targetPlayer)ターゲットプレイヤーに送信され、サーバーでバッファリングされたRPCを、すべてネットワーク上から破棄します。Client(全員にむけて)のみです。targetPhotonView)targetPhotonViewを通して送信される、サーバーでバッファリングされたRPCを、すべて削除します。Clientと、targetPhotonViewの所有者が、これを呼ぶことができます。targetGroup)targetGroupに送信される、サーバーでバッファリングされたRPCを、すべて削除します。Clientと、targetPhotonViewの所有者が、これを呼ぶことができます。type)既存のtype型のComponentを持つGameObjectをSendMonoMessageTargetsに加えます。type)特定の型を持つComponentを伴うGameObjectを検索します(FindObjectsOfTypeを使います)。enableGroups)指定されたインタレストグループ(PhotonViewsに適用)で受信を有効/無効にします。prefix)後にインスタンス作成されるPhotonViewに、レベルプリフィックスをセットします。levelNumber)ネットワークのメッセージキューを一時停止するため、レベル読み込みをラップします。オプションで、読み込んだレベルをRoom内で同期します。levelName)ネットワークのメッセージキューを一時停止するため、レベル読み込みをラップします。オプションで、読み込んだレベルをRoom内で同期します。parameters)この操作で、独自Webサービスをname(path)と指定したパラメーターで、Photonに呼び出させることができます。"1.77"PUNのバージョン番号。GameVersionの中でも使われて、クライアントのバージョンを相互に分離します。1000プレイヤー毎に(またはシーン毎に)割り当てられるPhotonViewの最大数。typeof(ServerSettings))シリアライズされたサーバー設定。サーバー設定はセットアップ・ウィザードによって記述され、ConnectUsingSettingsで使われます。truetrueなら、Instantiate(インスタンス作成)メソッドを呼ぶと、入室中かをチェックされます。Roomにいないなら失敗します。PhotonLogLevel.ErrorsOnlyネットワーク・ログのレベル。PUNが詳細な点までログに出力するかどうかを制御できます。0.000099fVector2またはVector3(たとえばTransform、Rotation)の最小の差は、変換が必要です。その後でPhotonViewのOnSerialize/ObservingComponentを通して送信されます。1.0fPhotonViewのOnSerialize/ObservingComponentを通して送信される前に、Rotationに変換が必要となる、最小の角度。0.01fPhotonViewのOnSerialize/ObservingComponentを通して送信される前の、float数値間の最小の差。UseRpcMonoBehaviourCache有効なら、RPCを呼ぶ主体のMonoBehaviourはキャッシュされます。コストのかさむGetComponents<MonoBehaviour>()を呼ぶのを避けるためです。truetrueなら、インスタンス作成時にPhotonNetwork.PrefabCacheを使い、ゲームオブジェクトをメモリ内に保持します(同じプレハブからのインスタンス作成が改善します)。GameObject>()ゲームオブジェクトへの参照を、回数の多いインスタンス作成のために保持します(Resourcesフォルダーから読み込む代わりにメモリから読み込みます)。SendMonoMessageTargetsnullでないなら、これはPUNのSendMonoMessage()に呼ばれるGameObjectの(排他的な)一覧です。typeof(MonoBehaviour)どのクラスがPUNのコールバック実装を含むのかを示します。trueパフォーマンス上の問題になる可能性があるため、コルーチンとしてのRPCの開始を省略するために使用することができます。Networkingだけに使われます。PUNではPhotonNetwork.CreateRoomを使ってプレイヤー数を指定します。60.0fUnityのOnApplicationPause(true)が呼ばれた後の接続を保持するためのフォールバックスレッドをPUNがどのくらいの期間動かすかを定義します。OnEventCallRaiseEventを扱うメソッドを“+=”を使って登録します。set]このビルドのバージョン文字列。非互換のクライアントと分離するために使うことができます。接続中に送信されます。[get](マスターかゲームサーバーかを問わず)現在使用されているサーバーアドレス。[get]Photonに最初に接続するまではfalse。オフラインモードでは、どのサーバーに接続中でもサーバー切り替え中でもtrueです。[get]Photonとの下層レベル接続が確立されるまでに、ConnectUsingSettings(または類似メソッド)を呼ぶとtrueです。[get]改善されたconnectedです。入室・退室などの操作を受け付ける準備ができたサーバーに接続しているときのみtrueです。[get]詳細な接続状態(PUNを関知しません。そのため、サーバー切り替え中は「回線切断」になることがあります)。[get]このクライアントが現在接続している、または接続しようとしているサーバー(の型)。set]接続時に使用されるユーザーの認証値。[get]現在入室しているRoom。どのRoomにも入室していないときはnullです。[get]ローカルのPhotonPlayerです。いつでも使用可能で、このプレイヤーを表します。CustomPropertiesはRoom入室前でもセット可能で、問題なく同期されます。Client、または(Roomの外では)nullを返します。set]プレイヤーのニックネームを、入室したRoom内の全員に同期します。これはPhotonPlayer.nameを設定します。[get]現在のRoomにいるすべてのプレイヤーリストです。ローカルプレイヤーも含みます。[get]ローカルプレイヤーを含まない、他のプレイヤーリストです。set]フレンドと、そのオンライン状況と、彼らのいるRoomの読み込み専用リスト。FindFriendsコールで初期化されるまではnullです。[get]フレンド一覧情報の古さ(ミリ秒)。フレンド一覧を取得する前は0です。Poolはインスタンス化されたオブジェクトインスタンスを保存して再利用できます。これはUnityデフォルトのInstantiateとDestroyメソッドを置き換えます。set]オフラインモードによって、あなたのマルチプレイヤーゲームのコードをシングルプレイヤーゲームモードに再利用できるようになります。trueなら、PhotonNetworkはなにも接続しないので、オーバーヘッドがない状態に近くなります。便利なのは、RPCとPhotonNetwork.Instantiateを再利用できることです。Clientと同じレベルをロードするべきかを決めます。set]この設定では、退室するプレイヤーにインスタンス作成された、GameObjectとPhotonViewを、Room内のプレイヤーが破棄すべきかを決めます。set]PhotonServerSettingsアセットで設定されます。マスターサーバーに接続したとき、PhotonNetworkが「ロビー」に参加するべきかを決めます。set]PhotonServerSettingsアセットで設定されます。マスターサーバーから有効なロビー一覧を取得可能にします。[get]trueを設定すると、マスターサーバーから、このアプリケーションで有効なロビーの情報を提供されます。[get]このクライアントがロビーにいるときtrueです。set]PUNがロビーに入るか、Gameを作成するとき使われるロビー。set]PhotonNetworkがパケットを、1秒に何度送信するかを定義します。これを変更するなら、'sendRateOnSerialize'も変更することを忘れないでください。set]OnPhotonSerializeがPhotonViewに、1秒何度呼ばれるかを定義します。set]受信イベント(RPCやインスタンス作成やその他受信するすべて)の配信を一時停止するのに使われます。set]チャンネル毎の未保証コマンドを、配信単位で制限するかどうかに使われます(一時停止後にチャンネルが多いと、未保証コマンドを多く引き起こす可能性があります)。[get]Photonのネットワークタイムです。サーバーと同期されます。[get]現在のサーバーのミリ秒単位のタイムスタンプです。Clientであるかどうか。PeerState.Joined)ときtrueです。Clientではないときtrueです。[get]現在、Roomで探せるプレイヤー数です(マスターサーバーで5秒間隔で取得可能)。[get]あるRoomで、現在このアプリケーションをプレイしているユーザー数(マスターサーバーで5秒間隔で取得可能)。[get]現在このアプリケーションをプレイしているユーザー数(マスターサーバーで5秒間隔で取得可能)。[get]現在使用されているRoom数(マスターサーバーで5秒間隔で取得可能)。set]このクライアントの通信量統計を集計するのを有効にするか無効にするか。[get](ACK受信前の、ローカルでの繰り返しタイミングのために)繰り返されたコマンドの数。set]Crcチェックが便利なのは、壊れたデータグラムによる問題を検知して回避できることです。接続していない状態で有効化できます。[get]CrcCheckEnabledがtrueのとき、正しいCRCチェックサムにならず破棄された着信パケットの数を数えます。set]ACKを受信できず回線切断の引き金になるより前に、定時性メッセージを再送信できる回数。set]ネットワーク上でデータ損失した場合、定時性メッセージが即再送されるのは3回までです。DescriptionPhotonNetworkプラグインを使うためのメインクラスです。このクラスは静的クラスです。Clientに対して、シーンオブジェクトに妥当なviewIDを割り当てさせることができます。Returns新規PhotonViewに使われるviewID。)static現在/ローカルのプレイヤーに妥当なviewIDを割り当てます。)static既存のtype型のComponentを持つGameObjectをSendMonoMessageTargetsに加えます。nullなら、SendMonoMessageTargetsをコンポーネント型(デフォルトではMonobehaviour)として扱います。)staticクライアントに回線切断(KICK)をリクエストします。Clientのみが実行可能です。ターゲットプレイヤーだけがこのイベントを受信します。そのプレイヤーは自動的に回線切断され、そのことは他者にも通知されます。回線切断(kick)されるPhotonPlayer。Cloudに接続します。PlayerPrefsにあるクラウドサーバーすべてに対してpingした結果を保存します。これを最初に呼び出したときは2秒前後かかります。ping結果はPhotonNetwork.OverrideBestCloudServer(..)を上書きすることがあります。これを最初に使用するとき2秒は掛かるというのは、すべてのクラウドサーバーにpingして最適な地域をチェックしているからです。Wizardは、appIDを設定ファイルに格納して、サーバーのアドレス/ポートを適用します。Dashboardに表示されています)を設定ファイルに書き込む必要があります。(OnFailedToConnectToPhoton()を呼びます。(DisconnectCause.MaxCcuReachedを伴い、OnConnectionFail()を呼びます。このクライアントのバージョン番号。ユーザーはゲームバージョンで個々に分断されます(このおかけで、互換性を壊す変更が可能になります)Returnsこのクライアントがpingをベースにクラウドサーバーに接続しようとするか否か。trueなら接続は保証しませんが、接続を試みることは実行します。gameVersion)staticPhotonマスターサーバーにIPアドレス・ポート・appIDとゲーム(クライアント)バージョンで接続します。Dashboardに表示されています)を設定ファイルに書き込む必要があります。(OnFailedToConnectToPhoton()を呼びます。(DisconnectCause.MaxCcuReachedを伴い、OnConnectionFail()を呼びます。サーバーの接続ポート。このクライアントのバージョン番号。Cloudの地域に接続します。)staticエディタで設定したようにPhotonに接続します(PhotonServerSettingsファイルに保存されます)。このメソッドはofflineModeを無効にします(どのインスタンスとして作成されたGameObjectも破棄しません)。このメソッドはisMessageQueueRunningをtrueにします。サーバー設定はPUNウィザードによって作られます。Gamesの地域とサーバーアドレスを含みます。これらの設定は一般的にはそれほど頻繁には変更されません。設定ファイルを無視してどこかに接続するにはPhotonNetwork.ConnectToMasterを呼びます。Dashboardに表示されています)を設定ファイルに書き込む必要があります。(OnFailedToConnectToPhoton()を呼びます。(DisconnectCause.MaxCcuReachedを伴い、OnConnectionFail()を呼びます。このクライアントのバージョン番号。)static指定した名前でRoomを作成します。その名前のRoomがすでにあるときは失敗します。一意なRoom名を作成したくないなら、nullか""を名前として渡すと、サーバーがroomNameを(GUIDを文字列として)割り当ててくれます。作成されたRoomは自動的に現在使用しているロビー内に配置されます。ロビーに入っていないなら、デフォルトのロビーに配置されます。このメソッドを呼べるのはマスターサーバー上だけです。内部的には、マスターはサーバーアドレス(と必要ならRoom名)を返します。どちらも内部で、割り当てられたゲームサーバーとroomNameを切り替えるために使われます。PhotonNetwork.autoCleanUpPlayerObjectsはこのRoomのAutoCleanUpプロパティになります。それはこのRoomに入室したクライアントすべてから使われます。作成するルームの固有の名前。Returnsオペレーションがqueueに入り送信される場合。typedLobby)staticルームを作成しますが、ルームがすでに存在している場合は失敗します。マスタサーバでのみ呼び出すことができます。成功した場合、これは、OnCreatedRoomとOnJoinedRoomコールバックを呼び出します(最初のプレイヤーとして参加するので、後者)。ルームを作成できない場合(すでに存在するため)、OnPhotonCreateRoomFailedが呼び出されます。""を名前として渡します。サーバはroomName(文字列としてGUID)を割り当てます。ルームは任意の数のロビーで作成することができます。これらは、ルームを作成する前に存在する必要はありません(必要に応じて自動作成される)。ロビーはサーバ側でルームのリストを分割するために使用できます。することでルームリストを短く保ち、扱いやすくします。typedLobbyパラメータを設定した場合、ルームはそのロビーに作成されます(いずれかのロビーでアクティブな場合でも)。typedLobbyを設定しない場合、ルームは自動的に現在アクティブなロビー(もしあれば)、またはデフォルトのロビーに配置されます。マスターサーバ上のみで呼び出します。(必要に応じてroomNameも)。どちらも、割り当てられたゲームサーバとroomNameに切り替えるために内部的に使用されます。PhotonNetwork.autoCleanUpPlayerObjectsは、このルームのautoCleanUpプロパティになります。これはこのルームに参加するすべてのクライアントに使用されます。作成するルームの固有の名前。サーバに名前を生成させるにはnullまたは""を渡します。maxPlayers、初期のカスタムルームのプロパティ、その他類似のものための一般的なオプション。RoomOptionsタイプを参照してください。nullの場合、ルームは自動的に現在使用されているロビーに作成されます。(明示的に参加しない場合はdefault)Returnsオペレーションがqueueに入り送信される場合。expectedUsers)static指定した名前でRoomを作成します。その名前のRoomがすでにあるときは失敗します。マスターサーバーだけから呼ぶことができます。成功すると、コールバックであるOnCreatedRoomとOnJoinedRoomを呼びます(後者では、あなたは最初のプレイヤーとしてRoomに入室します)。(すでに同名のRoomがあるので)Roomが作成されなかったときは、OnPhotonCreateRoomFailedが呼ばれます。一意なRoom名を作成したくないなら、nullか""を名前として渡すと、サーバーがroomNameを(GUIDを文字列として)割り当ててくれます。複数のRoomを複数のロビー内に作成できます。ロビーはその中にRoomを作るより前は存在できません(必要なときに自動で作られます)。ロビーが便利なのは、サーバー側にすでにあるRoom一覧を分けるときです。すると、Room一覧を短く、管理しやすくできます。(あなたがどのロビーにいても問題ありません)。Roomは、自動的に自分のいるロビーかデフォルトロビーに配置されます。このメソッドを呼べるのはマスターサーバー上だけです。内部的には、マスターはサーバーアドレス(と必要ならRoom名)を返します。どちらも内部で、割り当てられたゲームサーバーとroomNameを切り替えるために使われます。PhotonNetwork.autoCleanUpPlayerObjectsはこのRoomのAutoCleanUpプロパティになります。それはこのRoomに入室したクライアントすべてから使われます。expectedUsersの配列を定義して、これらのユーザのためにルームのプレーヤースロットをブロックすることができます。Photonではこの機能を「スロット予約」と呼んでいます。ドキュメントページで説明しています。作成するRoomの、一意な名前。nullか""を渡すと、サーバーが名前を生成してくれます。Roomに関する標準的なオプション。maxPlayers、最初の独自Roomプロパティなど。typeをご覧ください。nullなら、自動的に現在使用中(特にロビーに入っていないならデフォルト)のロビーにRoomは作られます。このゲームに参加を予定していてスロットをブロックしたいユーザ(UserIdで)の任意のリスト。Returnsオペレーションがqueueに入り送信される場合。)staticPhotonViewが静的でないか、このクライアントの制御下ならば、GameObjectとそれに関連したPhotonViewをネットワーク上から破棄します。ネットワーク上のGameObjectをRoom内で破棄するということが含むのは:サーバーのRoomバッファーからInstantiate(インスタンス作成)コールを削除。PhotonNetwork.Instantiateを呼んで間接的に作成されたPhotonViewに向けてバッファリングされていた、RPCの削除。他のクライアントに向けて送信されていた、(ネットワークラグに影響された)GameObjectを削除しろというメッセージ。一般的に、Roomを退室すると、GameObjectは自動的に破棄されます。Room内にいないときGameObjectを破棄すると、そのDestroyはローカルだけで実行されます。ネットワーク上のオブジェクト破棄が実行できるのは、それがPhotonNetwork.Instantiate()で作られたオブジェクトだけです。シーンと共に読み込まれたオブジェクトは、PhotonViewコンポーネントを持つ持たないに関わらず、無視されます。このクライアントの制御下になるGameObjectとは:このクライアントにインスタンス作成されて所有されている。Clientに制御されている。Clientに制御されている。クライアントがRoom内にいないとき、破棄される可能性のあるGameObject。Returns何も返しません。問題については、エラーログをチェックしてください。)staticPhotonViewが静的でないか、このクライアントの制御下ならば、GameObjectとそれに関連したPhotonViewをネットワーク上から破棄します。ネットワーク上のGameObjectをRoom内で破棄するということが含むのは:サーバーのRoomバッファーからInstantiate(インスタンス作成)コールを削除。PhotonNetwork.Instantiateを呼んで間接的に作成されたPhotonViewに向けてバッファリングされていた、RPCの削除。他のクライアントに向けて送信されていた、(ネットワークラグに影響された)GameObjectを削除しろというメッセージ。一般的に、Roomを退室すると、GameObjectは自動的に破棄されます。Room内にいないときGameObjectを破棄すると、そのDestroyはローカルだけで実行されます。ネットワーク上のオブジェクト破棄が実行できるのは、それがPhotonNetwork.Instantiate()で作られたオブジェクトだけです。シーンと共に読み込まれたオブジェクトは、PhotonViewコンポーネントを持つ持たないに関わらず、無視されます。このクライアントの制御下になるGameObjectとは:このクライアントにインスタンス作成されて所有されている。Clientに制御されている。Clientに制御されている。クライアントがRoom内にいないとき、破棄される可能性のあるGameObject。Returns何も返しません。問題については、エラーログをチェックしてください。)staticRoom内のGameObject・PhotonView・それらの発したRPCをすべてネットワーク上から破棄します。サーバーにバッファリングされたすべてを削除します。Client(全員にむけて)だけです。Client(全員にむけて)だけです。Destroyメソッドとは違い、これはサーバーのRoomバッファーのすべてを削除します。ゲームがInstantiateとRPCコールの前にすべてをバッファリングするので、それもサーバーから削除されます。その他)を削除します。他のクライアントに、ローカルのすべてを破棄するというメッセージを送信します(ネットワーク・ラグの影響を受けます)。ネットワーク上のオブジェクト破棄が実行できるのは、それがPhotonNetwork.Instantiate()で作られたオブジェクトだけです。シーンと共に読み込まれたオブジェクトは、PhotonViewコンポーネントを持つ持たないに関わらず、無視されます。Returns何も返しません。問題については、エラーログをチェックしてください。)staticターゲットプレイヤーのGameObject・PhotonView・それらの発したRPCをすべてネットワーク上から破棄します。Client(全員にむけて)です。ネットワーク上のGameObjectをRoom内で破棄するということが含むのは:サーバーのRoomバッファーからInstantiate(インスタンス作成)コールを削除。PhotonNetwork.Instantiateを呼んで間接的に作成されたPhotonViewに向けてバッファリングされていた、RPCの削除。他のクライアントに向けて送信されていた、(ネットワークラグに影響された)GameObjectを削除しろというメッセージ。ネットワーク上のオブジェクト破棄が実行できるのは、それがPhotonNetwork.Instantiate()で作られたオブジェクトだけです。シーンと共に読み込まれたオブジェクトは、PhotonViewコンポーネントを持つ持たないに関わらず、無視されます。Returns何も返しません。問題については、エラーログをチェックしてください。)static(IDで指定した)プレイヤーのGameObject・PhotonView・それらの発したRPCをすべてネットワーク上から破棄します。Client(全員にむけて)です。ネットワーク上のGameObjectをRoom内で破棄するということが含むのは:サーバーのRoomバッファーからInstantiate(インスタンス作成)コールを削除。PhotonNetwork.Instantiateを呼んで間接的に作成されたPhotonViewに向けてバッファリングされていた、RPCの削除。他のクライアントに向けて送信されていた、(ネットワークラグに影響された)GameObjectを削除しろというメッセージ。ネットワーク上のオブジェクト破棄が実行できるのは、それがPhotonNetwork.Instantiate()で作られたオブジェクトだけです。シーンと共に読み込まれたオブジェクトは、PhotonViewコンポーネントを持つ持たないに関わらず、無視されます。Returns何も返しません。問題については、エラーログをチェックしてください。)staticこのクライアントをPhotonサーバーと、Roomに残るプロセスから回線切断します。OnDisconnectedFromPhotonを完了時に呼びます。切断すると、クライアントは“disconnecting”メッセージをサーバーに送信します。(それをしないと、サーバーがこのクライアントの接続をタイムアウトします)。オフラインモードで使うと、状態変更とイベントコールOnDisconnectedFromPhotonは即座に実行されます。オフラインモードもfalseにセットされます。回線切断されると、クライアントから再接続可能になります。ConnectUsingSettingsを使ってください。senderId)OnEventCallのデリゲートを使用可能にするかを決めます。eventCodeが200未満ならデリゲートに向けて転送されます。着信イベントに割り当てられた数値。送信者がイベントに送った内容。イベントに送信したプレイヤーID。「Room」がイベントに送信したなら0でしょう。)staticサーバータイムスタンプを更新します(非同期動作で、サーバーを往復します)これが便利なのは、ネットワーク状態が悪いのでタイムスタンプが使用不能または不正確なときです。)staticフレンド一覧のRoomとオンライン状況をリクエストします。結果をPhotonNetwork.Friendsに格納します。マスターサーバーだけで動作して、しぼり込まれたユーザーの一覧がプレイしているRoomを探査します。結果はPhotonNetwork.Friendsが有効なときに保存されます。リストはOpFindFriendsを最初に使ったとき初期化されます(初期化前はnullです)。一覧を更新するには、FindFriendsを再度呼んでください(5秒後に、あるいは10か20秒後に)。ユーザは、PhotonNetwork.AuthValuesで一意のuserIdを設定することによって、自身を識別します。これがどのように設定され使用されるかは、AuthenticationValuesの注釈を参照してください。フレンド一覧は(Photonによっては提供されないので)別のところから持ってこなくてはなりません。フレンドの配列(一意なplayerNameかAuthValuesを付けるよう注意)Returnsこの操作が送信されたかどうか(接続している必要があります。いつであってもリクエストは同時には1つだけ可能です)。)static特定の型を持つComponentを伴うGameObjectを検索します(FindObjectsOfTypeを使います)。TypeはComponentである必要があります。sqlLobbyFilter)staticサーバからゲームのカスタムリストを取得し、SQLのような「where」節に一致させて、OnReceivedRoomListUpdateコールバックをトリガーします。オペレーションは、SqlLobbyタイプのロビーでのみ使用できます。注:そのロビーに参加する必要はありません。これは非同期リクエストです。終了すると、OnReceivedRoomListUpdateが呼び出されます。GetRoomList()を使用してアクセスします。SqlLobby型でなければなりません。)static現在の、Photonサーバーへの往復にかかる時間。)static現在把握されているRoomをRoomInfo配列で取得します。ロビーにいるとき利用できて更新されます(insideLobbyをチェックしてください)。この一覧は内部のRoom一覧をキャッシュしたコピーです。そのため、必要なら毎フレームアクセスすることも可能です。RoomInfo毎にRoomが満室かを、入室する前に、playerCountとmaxPlayersを比較することでチェックできます。Room名は入室のときに(JoinRoomを通して)使う必要があります。閉まったRoomはロビーによって、一覧には載りますが、入室はできません。Room.visibleとRoom.openをセットしてRoomを隠し、マッチメイキングできなくしたりRoomを閉めたりできます。Networkingとの互換性のためだけに使われます。暗号化については接続時に自動で初期化されます。group)staticネットワーク越しにプレハブからインスタンス作成します。このプレハブは"Resources"フォルダー直下に配置されている必要があります。Resourcesフォルダーのプレハブを使う代わりに、手動でInstantiateしてPhotonViewを割り当てることができます。インスタンス作成するプレハブ名。インスタンス作成時に適用する、Vector3で表される位置。インスタンス作成時に適用する、Quaternionで表される回転。このPhotonViewのグループ。Returnsインスタンス作成されたPhotonViewを伴う、GameObjectの新規インスタンス。data)staticネットワーク越しにプレハブからインスタンス作成します。このプレハブは"Resources"フォルダー直下に配置されている必要があります。Resourcesフォルダーのプレハブを使う代わりに、手動でInstantiateしてPhotonViewを割り当てることができます。インスタンス作成するプレハブ名。インスタンス作成時に適用する、Vector3で表される位置。インスタンス作成時に適用する、Quaternionで表される回転。このPhotonViewのグループ。付随するインスタンス作成のデータ。これはPhotonView.instantiationDataに保存されます。Returnsインスタンス作成されたPhotonViewを伴う、GameObjectの新規インスタンス。data)staticネットワーク越しにプレハブからインスタンス作成します。このプレハブは"Resources"フォルダー直下に配置されている必要があります。ClientのみがシーンオブジェクトをInstantiateできます。Resourcesフォルダーのプレハブを使う代わりに、手動でInstantiateしてPhotonViewを割り当てることができます。インスタンス作成するプレハブ名。インスタンス作成時に適用する、Vector3で表される位置。インスタンス作成時に適用する、Quaternionで表される回転。このPhotonViewのグループ。付随するインスタンス作成のデータ。これはPhotonView.instantiationDataに保存されます。Returnsインスタンス作成されたPhotonViewを伴う、GameObjectの新規インスタンス。)staticマスターサーバー上で、デフォルトロビーに入ります。そのロビーでは、現在使用中のRoom一覧をみることができます。Room一覧はサーバーから送信されて更新されます。PhotonNetwork.GetRoomList()を使ってアクセスできるのは、キャッシュされた一覧です。Room毎に、入室前にそのRoomが満室かそうでないかをチェックする必要があります。false)その限りではありません。うまくいけば、クライアントにランダムなゲームに参加させることができます。以下に詳細が記述されています。(ただしマスターサーバー上にいる必要があります)。countOfRoomsを使ってください。2つ以上のロビーを使って、Room一覧を短くすることができます。lobby)をご覧ください。新規Roomを作成するとき、そのRoomは現在使っているロビーかデフォルトロビーに「所属」させられます。JoinRandomRoomをロビーに入らずに使うことができます。falseをセットしましょう。このとき、接続ワークフローは(実装していれば)OnConnectedToMasterを呼びます。)staticマスターサーバー上でロビーに入って、有効なRoomの一覧を得ることができます。Room一覧はサーバーから送信されて更新されます。PhotonNetwork.GetRoomList()を使ってアクセスできるのは、キャッシュされた一覧です。どのクライアントもその場でロビーを構成することができます。個々の一覧を短くできます。一覧が多すぎると、マッチメイキングが面倒になるかもしれません。うまくいけば、作るロビーを一定の数に抑えることができます。all向けに"ffa"など。そのときロビーの一覧はありません。SQL型のロビーがあると、ランダム・マッチメイキングに異なるフィルタリングを導入できます。これはスキルをベースにしたゲームに向いているかもしれません。どちらも、以下にリンクしたマッチメイキング文書に説明してあります。うまくいけば、クライアントにランダムなゲームに参加させることができます。以下に詳細が記述されています。https://doc.photonengine.com/en-us/pun/v2/lobby-and-matchmaking/matchmaking-and-lobbyRoom毎に、入室前にそのRoomが満室かそうでないかをチェックする必要があります。false)その限りではありません。(ただしマスターサーバー上にいる必要があります)。countOfRoomsを使ってください。新規Roomを作成するとき、そのRoomは現在使っているロビーかデフォルトロビーに「所属」させられます。JoinRandomRoomをロビーに入らずに使うことができます。falseをセットしましょう。このとき、接続ワークフローは(実装していれば)OnConnectedToMasterを呼びます。typedLobby)static名前付きのRoomに入室するか、その場でRoom作成するかします。誰かがすでにRoomを作ったかどうかは知らなくてもかまいません。このメソッドを使うと、プレイヤーのグループが同じRoomに入室するのが簡単になります。グループがroomNameを変更したら、どのプレイヤーでもJoinOrCreateRoomを呼ぶことができます。誰が実際に入室またはRoom作成しても、問題ありません。roomOptionsとtypedLobbyパラメーターはこのクライアントが作成したRoomだけに使うことができます。知っての通り、このクライアントがRoom作成すると、OnJoinedRoomコールバックが呼ばれます(その後でOnJoinedRoomも呼ばれます)。null以外の必要があります。Roomが存在しないときの、Roomに対するオプション。存在していれば値は無視されます。新規Roomを一覧したいロビー。Roomがすでにあり、入室済みなら無視されます。Returns動作がキュー行列に追加されてそのうち送信されるかどうか。expectedUsers)static名前を付けられたルームに参加するか、その場で作成することができます。誰かがすでにルームを作成したかどうかを知る必要はありません。これは、プレイヤーのグループが同じルームに入ることを容易にします。誰が実際にルームに参加・作成したかは関係ありません。typedLobbyのパラメータはルームがこのクライアントによって実際に作成された場合にのみ使用されます。OnCreatedRoomコールバックを取得したら、このクライアントがルームを作成したことが分かります(また、OnJoinedRoomが呼び出される前)。expectedUsersの配列を定義して、これらのユーザのためにルームのプレイヤースロットをブロックすることができます。Reservation」と呼ばれていて、ドキュメントページにも記載されています。参加するルームの名前。非nullでなければなりません。ルームがまだ存在しない場合のためのオプション。なければ、これらの値は無視されます。新しいルームをリストしたいロビー。ルームが既に存在していて参加された場合は無視されます。このゲームに参加を予定していてスロットをブロックしたいユーザ(UserIdで)の任意のリスト。Returnsオペレーションがqueueに入り送信される場合。)static現在使われているロビーの、有効なRoomのどれかに入室します。有効なRoomがなければ失敗します。Roomはその場で作成するとき、任意のロビー内に作成することができます。Roomへの入室は、実際にはロビーに入らなくてもどのロビーからでも可能です。TypedLobbyパラメーターで上書きしたJoinRandomRoomを使いましょう。このメソッドでマッチするRoomは、1つのロビーに紐づけられたものだけです。多くのロビーを使用しているなら、マッチするRoomを見つけるためには、JoinRandomRoomを繰り返し実行する必要があるかもしれません。デフォルトロビーにあるRoomです。失敗したときに、Roomを作成する(そしてそれを次にJoinRandomRoomを使う人のために有効にする)こともできます。しないなら、すこし待ってから再び実行してください。expectedMaxPlayers)static独自プロパティのマッチした、空いているRoomに入室しようとします。現在有効なRoomがない場失敗します。Roomはその場で作成するとき、任意のロビー内に作成することができます。Roomへの入室は、実際にはロビーに入らなくてもどのロビーからでも可能です。TypedLobbyパラメーターで上書きしたJoinRandomRoomを使いましょう。このメソッドでマッチするRoomは、1つのロビーに紐づけられたものだけです。JoinRandomRoomを繰り返し実行する必要があるかもしれません。現在有効なロビーか、(どのロビーにも入っていないなら)デフォルトロビーにあるRoomです。しないなら、すこし待ってから再び実行してください。この独自プロパティにマッチするRoomのためのフィルター(string型のキーと値)。フィルター無効にするにはnullを渡します。最大プレイヤー数指定のフィルター。0を指定するとどんなmaxPlayer値でも受け入れます。Returnsオペレーションがqueueに入り送信される場合。null)static独自プロパティのマッチした、空いているRoomに入室しようとします。現在有効なRoomがない場合失敗します。Roomはその場で作成するとき、任意のロビー内に作成することができます。Roomへの入室は、実際にはロビーに入らなくてもどのロビーからでも、このoverloadを使うことで、可能です。このメソッドでマッチするRoomは、1つのロビーに紐づけられたものだけです。実行する必要があるかもしれません。(指定がないなら)現在有効なロビーか、(有効なロビーがないなら)デフォルトロビーにあるRoomです。失敗したとき、Roomを作成する(そしてそれを次にJoinRandomRoomを使う人のために有効にする)こともできます。しないなら、すこし待ってから再び実行してください。パラメーターはすべて無視されます。PhotonNetworkingMessageをお読みください)。expectedUsersの配列を定義して、これらのユーザのためにルームのプレイヤースロットをブロックすることができます。Reservation」と呼ばれていて、ドキュメントページにも記載されています。この独自プロパティにマッチするRoomのためのフィルター。フィルター無効にするにはnullを渡します。最大プレイヤー数指定のフィルター。0を指定するとどんなmaxplayer値でも受け入れます。使用可能なマッチメイキングアルゴリズムを1つ選びます。enumでオプションをご覧ください。その中でRoomを探したいロビー。nullを渡すと、デフォルトロビーを使います。これは、そのロビーに入りもせず、ロビープロパティもセットしません。name="sqlLobbyFilter"SQL型のロビーのためのフィルター文字列。このゲームに参加を予定していてスロットをブロックしたいユーザ(UserIdで)の任意のリスト。Returnsオペレーションがqueueに入り送信される場合。)staticroomnameでルームに参加して、成功時に​​OnJoinedRoom()を呼び出します。これは、ロビーには影響されません。成功すると、任意のスクリプトでOnJoinedRoom()メソッドが呼び出されます。ルームへの参加に反応するように実装することができます。ルームが満室または利用不可の場合、JoinRoomは失敗します(参加を試みている間に空になる場合があります)。エラーの場合にコールバックを取得するため、OnPhotonJoinRoomFailed()を実装します。ロビーのリストからルームに参加するには、roomNameとしてRoomInfo.nameを使用します。複数のロビーを使用していても、roomNameは常にアプリケーション上で「グローバル」なので、ロビーを指定する必要がありません。マスタサーバーがルームを見つけます。Cloudでは、アプリケーションはAppId,およびGameとPUNのバージョンで定義されます。参加するルームの固有の名前。Returnsオペレーションがqueueに入り送信される場合。expectedUsers)staticroomnameでルームに参加して、成功時に​​OnJoinedRoom()を呼び出します。これは、ロビーには影響されません。成功すると、任意のスクリプトでOnJoinedRoom()メソッドが呼び出されます。ルームへの参加に反応するように実装することができます。ルームが満室または利用不可の場合、JoinRoomは失敗します(参加を試みている間に空になる場合があります)。エラーの場合にコールバックを取得するため、OnPhotonJoinRoomFailed()を実装します。ロビーのリストからルームに参加するには、roomNameとしてRoomInfo.nameを使用します。どのロビーにいるかを指定する必要がありません。マスターサーバがそのルームを見つけます。Cloudでは、アプリケーションはAppId,およびGameとPUNのバージョンで定義されます。expectedUsersの配列を定義して、これらのユーザのためにルームのプレイヤースロットをブロックすることができます。Reservation」と呼ばれていて、ドキュメントページにも記載されています。参加するルームの固有の名前。このゲームに参加を予定していてスロットをブロックしたいユーザ(UserIdで)の任意のリスト。Returnsオペレーションがqueueに入り送信される場合。)staticロビーから出ます。有効なRoomについて更新を受け取るのを停止します。特定のロビーに後から入りやすくなります。ロビーにいなくてさえも受け取ります。JoinRandomRoomをロビーに入らずに使うことができます。接続するときロビーに入らないには、autoJoinLobbyを使いましょう。)static現在のRoomを退室して、マスターサーバーに戻ります。マスターサーバーではRoomに入室したりRoom作成できます。remarksをご覧ください。autoCleanUpをfalseにしていないなら、(ネットワーク)GameObjectとPhotonViewをクリーンアップします。マスターサーバーに戻ります。オフラインモードでは、ローカルの「フェイク」Roomがクリーンアップされて、OnLeftRoomが即座に呼ばれます。)staticネットワークのメッセージキューを一時停止するため、レベル読み込みをラップします。オプションで、読み込んだレベルをRoom内で同期します。読み込んだレベルをRoom内で同期するため、PhotonNetwork.automaticallySyncSceneをtrueにしてください。Clientは、他のRoom内のプレイヤーと、読み込んだレベルを同期します。レベル読み込みのあいだは、他のプレイヤーが受信するメッセージを発信しないのが賢明です。レベルを読み込み中にキューを使用可能にします。(同じGameObjectとPhotonViewを含まない)別のシーンを読み込む前にRPCを発行しないよう注意してください。それを呼び出すにはOnJoinedRoomで可能です。これはApplication.LoadLevelを使用します。レベル数を使うときは、それはどのクライアントでも同じになることに気をつけてください。)staticネットワークのメッセージキューを一時停止するため、レベル読み込みをラップします。オプションで、読み込んだレベルをRoom内で同期します。レベル読み込みのあいだは、他のプレイヤーが受信するメッセージを発信しないのが賢明です。レベルを読み込み中にキューを使用可能にします。読み込んだレベルをRoom内で同期するため、PhotonNetwork.automaticallySyncSceneをtrueにしてください。Clientは、他のRoom内のプレイヤーと、読み込んだレベルを同期します。(同じGameObjectとPhotonViewを含まない)別のシーンを読み込む前にRPCを発行しないよう注意してください。それを呼び出すにはOnJoinedRoomで可能です。これはApplication.LoadLevelを使用します。レベル数を使うときは、それは同じRoom内のどのクライアントでも利用できることに気をつけてください。)static通信量統計をリセットして、再有効化します。)staticNetworkStatisticsEnabledがいくつかの統計をまとめるのに使われたときのみ、使用できます。gameVersion)で使われている地域を上書きします。このメソッドはクラウドサーバーすべてにpingした結果を上書きします。これを使うことで、ユーザーがプレイヤー設定で手動で地域を選択する手間を省けます。注記:PhotonNetwork.ConnectToRegionを使って(一時的に)特定の地域に接続することもできます。options)staticRoom内の、一からカスタマイズ可能なイベントを送信します。(0..199)と内容で構成されています。誰かが送信したイベントを受信するには、PhotonNetwork.OnEventCallに、イベントを扱うメソッドを登録してください。this.OnEventHandler;senderIdで、イベントを送信したPhotonPlayerを検索できます。異なるタイプの内容とアクションにそれぞれ別のeventCodeを割り当てるのがベストプラクティスです。eventContentはオプションです。クライアントが基本的にはbyte[]に変換したもの、である必要があります。Quaternionなども含む多くの基礎的な型と配列ではサポートされています。自分のクラスを“シリアライズ可能な型”にするには、CustomTypes.csの例に従ってください。targetActors(PhotonPlayer.IDの値の配列)をセットすると、receiversパラメーターは無視されます。イベントキャッシュを使うと、targetActor(ターゲットプレイヤー)・receiver(受信者)・interestGroup(インタレスト・グループ)は使われません。バッファリングされたイベントを使用します。removeFromRoomCacheを使うと、eventCodeと内容は実際には送信されず、フィルターとして使われます。1バイトでイベント型を表します。アクションごとにコードを変えて使いたいとか、どのコンテントか予想できるシグナルにしたくなるかもしれません。float(など)とその配列。Hashtableにバイトキーも変数変数内容を送信するのによいです。このイベントがすべてのプレイヤーに届くか確認します。認識されるのに必要なのは、通信帯域とスキップされないこと(データ損失に備えてラグを追加してもよい)です。イベントをより複雑に使うことができます。nullならRaiseEventOptions.Defaultが(良好なら)使われます。Returnsイベントが送信されなかったときfalseです。)static切断後、マスタサーバーに再接続するために使用することができます。接続が失われたら、これを使用してクライアントをリージョンマスタサーバに再度接続することができます。ルーム名をキャッシュし、ReJoin(roomname)を使用してゲームに戻ります。一般的なユースケース:iOSデバイス上のロックボタンを押すと、すぐに切断されます。)staticクライアントがゲームプレイ中に接続を失った場合、このメソッドは再接続してルームへの再入室を試みます。このメソッドは、PUNが前にいたルームをホストしているゲームサーバに直接再接続します。その間にルームが終了した場合は、PUNはOnPhotonJoinRoomFailedを呼び出して、マスターサーバにこのクライアントを返します。このクライアントが再接続を試みて再び参加する場合は(条件が満たされている場合)、戻り値を確認してください。ReconnectAndRejoinがfalseを返した場合でも、ReconnectとReJoinを試みることができます。PhotonNetwork.ReJoinと同様に、プレイヤーごとに固有のIDを使用する必要があります(UserID)。Returns戻る既知のルームやゲームサーバが存在しない場合、false。このクライアントはReconnectAndRejoinを試みるのをやめます。)staticクラウドサーバーすべてに再pingして、(現在)ping値が最もよいものを探します。)static切断後にルームに戻り、再接続するために使用することができます。接続を失った後、クライアントが速やかに再接続できればルームに戻りプレイを継続できるかもしれません。Reconnect()とこのメソッドを使用します。RoomOptions.PlayerTtlを設定する必要があります。PhotonViewの所有者の規則は、ゲームへのシームレスな復帰を防ぎます。PropertiesとRaiseEventを使用してください。一般的なユースケース:iOSデバイス上のロックボタンを押すと、すぐに切断されます。)static「この」プレイヤーの独自プロパティをローカルで削除します。この挙動はRoomを切り替えるとき便利です。このメソッドは注意して使ってください。これはplayer.customPropertiesをローカルで変更するだけです。これが有用なのは、複数のゲームのあいだで独自プロパティ(それらに格納されたターンやキルなど)を削除できる点です。SetPlayerCustomProperties()は同期しますが、Room内にいるとき値をnullにセットするのに使うこともできます。これはRoom内で「削除された」と見なすことができます。customPropertiesToDeleteがnullかエントリー0なら、独自プロパティすべては削除されます(新しいHashtableに置き換わります)。削除するキーを指定すると、それはHashtableから削除されますが、ほかのキーは影響を受けません。削除する独自プロパティのキーの一覧。remarksをご覧ください。)staticターゲットプレイヤーに送信され、サーバーでバッファリングされたRPCを、すべてネットワーク上から破棄します。Client(全員にむけて)のみです。このメソッドは以下のどちらも必要です:ターゲットプレイヤーのクライアントであること。Client(PhotonPlayerのRPCをすべて削除可能)であること。バッファリングされるか、ほかと同じくクリアされるかが決まります。このプレイヤーのバッファリングされたRPCはサーバーのバッファーから削除されます。)statictargetPhotonViewを通して送信される、サーバーでバッファリングされたRPCを、すべて削除します。Clientと、targetPhotonViewの所有者が、これを呼ぶことができます。このメソッドは以下のどちらも必要です:このクライアントはtargetPhotonViewの所有者(インスタンス作成した)であること。Client(PhotonPlayerのRPCをすべて削除可能)であること。このPhotonViewのバッファリングされたRPCはサーバーのバッファーから削除されます。)statictargetGroupに送信される、サーバーでバッファリングされたRPCを、すべて削除します。Clientと、targetPhotonViewの所有者が、これを呼ぶことができます。Client(グループ毎のRPCをすべて削除可能)であること。その他のクライアント:PhotonViewそれぞれについて、このクライアントの制御下にあるとチェックされた場合、それらのRPCだけが削除されます。RPCをすべて削除されたインタレスト・グループ。)static即座にRPCを送信しInstantiate(インスタンス作成)を呼び出すのに使われます。それらは他のプレイヤーに向かいます。レベルを読み込むRPCを送出し、その後で自身で読み込むことは便利です。読み込み中はRPCは他者には送信されないので、RPCを「読み込む」のは遅れるでしょう。(isMessageQueueRunningで)利用不可にしてから読み込みできます。enableGroups)static指定されたインタレストグループ(PhotonViewsに適用)で受信を有効/無効にします。クライアントは関心のあるインタレストグループをサーバに伝えることができます。サーバは、そのクライアントへのインタレストグループのイベントのみを転送します(バンド幅とパフォーマンスを節約します)。無効にする(またはnullにする)関心のグループ。有効にする(またはnullにする)関心のグループ。)static後にインスタンス作成されるPhotonViewに、レベルプリフィックスをセットします。1つのPhotonViewに必要なだけならセットしないでください!重要:複数のレベルプリフィックスを使っていないなら、単にこの値をセットしないでください。デフォルト値は通信量から最適化されます。これは既存のPhotonViewに影響しません(既存のPhotonViewまでは変更しません)。異なるレベルプリフィックスを付加して送信されたメッセージは、受信されても実行されません。この挙動はRPC、Instantiate(インスタンス作成)、同期に影響します。PUNはこの値をリセットしないことに気をつけてください。それをするなら、自身で実行する必要があります。Clientに割り当ててもらいます。Clientだけにメッセージを送信するオプションがあります。SetMasterClientはどのクライアントがそのメッセージを受け取るかに影響します。Clientをセットする動作を呼び出します。これはサーバーへの往復の時間がかかります。Clientについて受信します。Clientに置き換えられるべきだと、サーバーに伝えます。Clientが変わってから時間がたっていないなら失敗します。このエラーにはコールバックはありません。Clientについて受信します。PhotonNetwork.masterClientについてもご覧ください。(RPCから使用可能な)ReceiverGroup.MasterClientは、これに影響されません(その後もRoom内のもっとも低いplayer.IDを指します)。このenum値を使用することは避けてください(代わりに特定のプレイヤーに送信してください)。Clientを見つけます。OnMasterClientSwitchedを実装して、この場合のコールバックを取得します。Clientを割り当てるかもしれません。実際にそのプレイヤーに割り当てるかどうかは重要ではありません。Clientは即座に切り替えられますが、リモートクライアントはイベントを受け取ります。Clientなしになるということです。Clientであっても、機能しなくなるかもしれないことです。Clientになるプレイヤー。Returnsこの処理が実行されないときfalseです。(オフラインモードでは)Room内にいる必要があります。)staticこの(ローカル)プレイヤーのプロパティをセットして、他のプレイヤーにも同期します(直接編集しないでください)。Room内では、プロパティは他のプレイヤーに同期されています。JoinRandomRoomのすべてが自分のプレイヤーの独自プロパティに適用されます。Hashtable全体が送信されます。更新されたキー/値のみをセットすると通信量を最小化できます。Hashtableがnullなら、その独自プロパティはクリアされます。独自プロパティは自動ではクリアされないので、変更しない限りは、次のRoomに持ち越されます。string型のキーだけをこのハッシュテーブルに使用できます。nullなら独自プロパティはすべて削除されます。影響するインタレスト・グループ。グループからの受信を可能(か不可)に設定します。可能にするインタレスト・グループ(またはnull)。不可にするインタレスト・グループ(またはnull)。enabled)static特定のグループでの送信を有効/無効にする(PhotonViewsに適用)これは、Photonサーバ側とインタラクトしません。これは、ブロックされたグループのいずれかに送信される場合、更新を抑制するクライアント側の設定です。この設定は、更新がサーバや他の誰にも届かないという意味なので、特に有用ではありません。注意して使用してください。影響を与えるインタレストグループ。グループへの送信が有効かどうかを設定します。enableGroups)static特定のグループでの送信を有効/無効にする(PhotonViewsに適用)これは、Photonサーバ側とインタラクトしません。これは、ブロックされたグループのいずれかに送信される場合、更新を抑制するクライアント側の設定です。この設定は、更新がサーバや他の誰にも届かないという意味なので、特に有用ではありません。注意して使用してください。無効にする(またはnullにする)関心のグループ。有効にする(またはnullにする)関心のグループ。)staticオフラインのとき、ネットワークプロトコルを切り替え可能になります(これは使用可能ポートに接続するときに影響します)。プロトコルを切り替えたとき、マスターサーバーのポートも切り替えることに注意してください。下層レベルコネクションに使うネットワークプロトコル。UDPがデフォルトです。TCPはすべてのプラットフォームで使用不可です(remarksをご覧ください)。)static(手動でインスタンス作成されて破棄されたネットワーク上のオブジェクトの)viewIDの割り当てを解除します。parameters)staticこの操作で、独自Webサービスをname(path)と指定したパラメーターで、Photonに呼び出させることができます。Dashboardでセットアップしなくてはなりません。Turnbasedの機能概要の短い導入を見てください。パラメーターは変換されてJSonフォーマットになります。そのためパラメーターは互換性があることに留意してください。レスポンス取得方法のため、PhotonNetworkingMessage.OnWebRpcResponseをご覧ください。理解するべき重要なことですが、OperationResponseはWebRPCが呼ばれたかどうかを示しているだけです。レスポンスの内容はWebサービスが返す値とエラー/サクセスコードです。OperationResponse内部に入っています。60.0fstaticUnityのOnApplicationPause(true)が呼ばれた後の接続を保持するためのフォールバックスレッドをPUNがどのくらいの期間動かすかを定義します。///しばらくしたら非アクティブなアプリケーション/接続を切断した上で、ユーザーが呼び出しなどを受けられるようにすることをお勧めします。合理的なバックグラウンドタイムアウトは60秒としています。タイムアウトを処理するには、次のように実装:通常通りOnDisconnectedFromPhoton()。アプリケーションは、再びアクティブになった際(Update()ループを実行)にバックグラウンド切断を通知します。(PUNによる特別なコールバックはありません)。0.1秒未満の値はこのタイムアウトを無効にします(注意:接続は無期限に保つことができます)。Unityが定期的にUpdate()を呼び出さない場合も、PUNはサーバにACKを送信するために、「フォールバックスレッド」を実行しています。これは、シーンやアセットを読み込む際やアプリがバックグラウンドにある間に接続を維持するために役立ちます。一部のプラットフォーム(iOS等)ではアプリがバックグラウンドにある間、接続を維持することができません。これらの例では、この値による変更はありません。アプリはバックグラウンドですぐに接続を失います。一部のUnityバージョンのエクスポート(Android)でUnityのOnApplicationPause()コールバックが破損しています。pause)を確認して、実装を確認してください。truestatictrueなら、Instantiate(インスタンス作成)メソッドを呼ぶと、入室中かをチェックされます。Roomにいないなら失敗します。Roomの外でインスタンス作成するのはいろいろ壊してしまう可能性が高くなります。これを無効にするのは、自分が何をしているかわかっているときだけにしてください。PhotonLogLevel.ErrorsOnlystaticネットワーク・ログのレベル。PUNが詳細な点までログに出力するかどうかを制御できます。1000staticプレイヤー毎に(またはシーン毎に)割り当てられるPhotonViewの最大数。Networkingだけに使われます。PUNではPhotonNetwork.CreateRoomを使ってプレイヤー数を指定します。PhotonNetwork.OnEventCallstaticRaiseEventを扱うメソッドを“+=”を使って登録します。eventCodeが200未満ならデリゲートに向けて転送されます。typeof(ServerSettings))staticシリアライズされたサーバー設定。サーバー設定はセットアップ・ウィザードによって記述され、ConnectUsingSettingsで使われます。0.01fstaticPhotonViewのOnSerialize/ObservingComponentを通して送信される前の、float数値間の最小の差。1.0fstaticPhotonViewのOnSerialize/ObservingComponentを通して送信される前に、Rotationに変換が必要となる、最小の角度。0.000099fstaticVector2またはVector3(たとえばTransform、Rotation)の最小の差は、変換が必要です。その後でPhotonViewのOnSerialize/ObservingComponentを通して送信されます。留意すべきは、これが正方形の大きさだということです。Y軸で0.01変わっただけで送信しようとすると、0.01f*0.01f=0.0001fが使われます。floatの不正確さを改善するために、0.0001fの代わりに0.000099fを使っているのです。GameObject>()staticゲームオブジェクトへの参照を、回数の多いインスタンス作成のために保持します(Resourcesフォルダーから読み込む代わりにメモリから読み込みます)。キャッシュはいつでも好きなときに編集可能です。Instantiate(インスタンス作成)に使っているときだけは例外的に編集不可です。メインスレッドだけで実行するのが一番効率的です。PhotonNetwork.SendMonoMessageTargetsstaticnullでないなら、これはPUNのSendMonoMessage()に呼ばれるGameObjectの(排他的な)一覧です。PhotonNetworkingMessageで定義されたコールバックすべてに対して、PUNはSendMonoMessageを使います。PUNは、FindObjectsOfType()を呼ぶことで、PUNからのコールバックを受ける可能性のあるスクリプトとGameObjectをすべて探索します。PUNのコールバックはそれほど頻度が多くはありません(ゲーム内ではプロパティ更新が最も頻度が高いです)。パフォーマンスが落ちることがあります。使うのは任意ですが、SendMonoMessageTargetは、ターゲットのGameObject一覧を供給するのに使われます。自身を一覧に追加しなくてはならないでしょう。nullならデフォルトの動作は、MonoBehaviourを持つGameObjectそれぞれに、SendMessageすることです。typeof(MonoBehaviour)staticどのクラスがPUNのコールバック実装を含むのかを示します。これが提供しているのは、実行時の速度を最適化するオプションです。このTypeが特定のものであればあるほど、コールバックメソッドの影響をチェックするべきクラスが少なくなります。truestaticパフォーマンス上の問題になる可能性があるため、コルーチンとしてのRPCの開始を省略するために使用することができます。truestatictrueなら、インスタンス作成時にPhotonNetwork.PrefabCacheを使い、ゲームオブジェクトをメモリ内に保持します(同じプレハブからのインスタンス作成が改善します)。実行時にUsePrefabCacheをfalseに指定しても、PrefabCacheはクリアされず、その場では無視されます。キャッシュをクリーンして編集することもできます。コメントを読んでください。PhotonNetwork.UseRpcMonoBehaviourCachestatic有効なら、RPCを呼ぶ主体のMonoBehaviourはキャッシュされます。コストのかさむGetComponents<MonoBehaviour>()を呼ぶのを避けるためです。RPCは、ターゲットのPhotonViewであるMonoBehaviourに呼ばれます。このMonoBehaviourはGetComponentで見つける必要があります。これをtrueに指定すると、MonoBehaviour一覧はそれぞれPhotonViewにキャッシュされます。MonoBehaviour一覧を手動で更新できるのです(たとえば新規MonoBehaviourがネットワーク上のGameObjectに追加されたとき)。"1.77"PUNのバージョン番号。GameVersionの中でも使われて、クライアントのバージョンを相互に分離します。PhotonNetwork.AuthValuesstaticgetset接続時に使用されるユーザーの認証値。Photon(と独自サービス/コミュニティ)のカスタム認証のため、接続中に使われるユーザー認証値。カスタム認証するのであれば、これを設定したあとでConnectを呼んでください。debugMsg)の実装を呼び出します。PhotonNetworkingMessage.OnCustomAuthenticationFailedをご覧ください。PhotonNetwork.autoCleanUpPlayerObjectsstaticgetsetこの設定では、退室するプレイヤーにインスタンス作成された、GameObjectとPhotonViewを、Room内のプレイヤーが破棄すべきかを決めます。この設定はRoom単位で実行されます。Room作成後では変更できず、個々のクライアント設定を上書きします。Room内でroom.AutoCleanUpが有効なら、PUNクライアントは退室時にプレイヤーのオブジェクトを破棄します。これは手動で(RPCなどで)インスタンス化したGameObjectを含みます。入室してくるプレイヤーがそれらを受け取らないようにします。内部的には、Roomのカスタムプロパティとして保存されます。デフォルトでは有効です。PhotonNetwork.autoJoinLobbystaticgetsetPhotonServerSettingsアセットで設定されます。マスターサーバーに接続したとき、PhotonNetworkが「ロビー」に参加するべきかを決めます。falseなら、マスターとの接続されたときOnConnectedToMaster()が呼ばれます。OnJoinedLobby()は呼ばれません。デフォルトではtrueです。Room一覧は取得できないでしょう。ロビーに接続(してRoom一覧を送信されること)がなくても、Roomを作成/入室(ランダムに)は可能です。Clientと同じレベルをロードするべきかを決めます。ClientはPhotonNetwork.LoadLevelを使っている必要があります。あれば、すべてのクライアントは、更新のときまたは入室したときに、新しいシーンを読み込むことになります。内部的には、Roomのカスタムプロパティが読み込んだシーンにセットされます。false)して読み込みます。シーンの読み込みが終わると、PUNは自動的にメッセージキューを有効に戻します。PhotonNetwork.connectedstaticgetPhotonに最初に接続するまではfalse。オフラインモードでは、どのサーバーに接続中でもサーバー切り替え中でもtrueです。PhotonNetwork.connectedAndReadystaticget改善されたconnectedです。入室・退室などの操作を受け付ける準備ができたサーバーに接続しているときのみtrueです。PhotonNetwork.connectingstaticgetPhotonとの下層レベル接続が確立されるまでに、ConnectUsingSettings(または類似メソッド)を呼ぶとtrueです。PhotonNetwork.connectionStateDetailedstaticget詳細な接続状態(PUNを関知しません。そのため、サーバー切り替え中は「回線切断」になることがあります)。オフラインモードでは(Room作成/入室した後で)PeerState.Joinedを返します。それ以外ではConnectedToMasterを返します。PhotonNetwork.countOfPlayersstaticget現在このアプリケーションをプレイしているユーザー数(マスターサーバーで5秒間隔で取得可能)。PhotonNetwork.countOfPlayersInRoomsstaticgetあるRoomで、現在このアプリケーションをプレイしているユーザー数(マスターサーバーで5秒間隔で取得可能)。PhotonNetwork.countOfPlayersOnMasterstaticget現在、Roomで探せるプレイヤー数です(マスターサーバーで5秒間隔で取得可能)。PhotonNetwork.countOfRoomsstaticget現在使用されているRoom数(マスターサーバーで5秒間隔で取得可能)。ロビー内で、一覧にあるRoom数はPhotonNetwork.GetRoomList().Lengthでチェック可能です。v1.25からは、この値はPhotonが(すべてのRoomを数えて)送信してくる統計イベントだけを元にしています。PhotonNetwork.CrcCheckEnabledstaticgetsetCrcチェックが便利なのは、壊れたデータグラムによる問題を検知して回避できることです。接続していない状態で有効化できます。PhotonNetwork.EnableLobbyStatisticsstaticgetsetPhotonServerSettingsアセットで設定されます。マスターサーバーから有効なロビー一覧を取得可能にします。プレイヤーのそれぞれのロビーでの活動を知りたい場合です。この値はPhotonServerSettingsに保存されます。PhotonNetwork.LobbyStatisticsはマスターサーバーに接続したときに更新されます。PunBehaviourコールバックも存在します。PhotonNetwork.Friendsstaticgetsetフレンドと、そのオンライン状況と、彼らのいるRoomの読み込み専用リスト。FindFriendsコールで初期化されるまではnullです。このリストを編集しないでください。これはFindFriendsによって内部的に扱われるもので、してもよいのは値を読み込むことだけです。FriendsListAgeの値によって、データがどれだけ過去のものか、ミリ秒単位でわかります。この一覧を耐用期間よりも短い間隔で取得しないでください(10秒以上)。よいやりかたは、取得する一覧を短くなるよう維持することです。すべての一覧を一度だけ取得して、あとはオンラインのフレンドだけにしぼって更新情報を少なめに要求することもできます。(たとえば1分間)の後、すべての一覧を再取得(してオンライン状況を更新)することができます。PhotonNetwork.FriendsListAgestaticgetフレンド一覧情報の古さ(ミリ秒)。フレンド一覧を取得する前は0です。PhotonNetwork.gameVersionstaticgetsetこのビルドのバージョン文字列。非互換のクライアントと分離するために使うことができます。接続中に送信されます。通常は設定し、(たとえばConnectUsingSettingsで)接続するときだけ送信されます。PeerState.Joined)ときtrueです。多くのアクション(インスタンス作成や退室など)はRoom内だけで実行できます。オフラインモードでもRoomに入室できます。PhotonNetwork.insideLobbystaticgetこのクライアントがロビーにいるときtrueです。更新されたときに通知を受け取れるようにしてください。Roomに入室したとき、ロビーからは自動的に退出します。ロビーはマスターサーバーにのみ存在します(一方、Roomはゲームサーバーが扱います)。Clientであるかどうか。PhotonNetwork.isMessageQueueRunningstaticgetset受信イベント(RPCやインスタンス作成やその他受信するすべて)の配信を一時停止するのに使われます。falseのとき、OnPhotonSerializeViewは呼ばれず、クライアントには何も送られません。受信メッセージも、メッセージキューを再有効化するまではキューに追加されません。この設定が便利なのは、最初にレベルを読み込んで、次にPhotonViewとRPCのデータを受信し続けようとしたときです。クライアントは、受信パケットとRPC/イベントの応答を、受信し送信し続けます。これは「ラグ」を増加させ、一時停止が長引き着信メッセージはすべてキューに貯まるだけという問題を引き起こす可能性があります。Clientではないときtrueです。PhotonNetwork.lobbystaticgetsetPUNがロビーに入るか、Gameを作成するとき使われるロビー。デフォルトのロビーは名前に空文字列を使います。PUNはautoJoinLobbyがtrueのとき、マスターサーバーのロビーに入ります。その設定で接続したりRoomから退室すると、PUNによって自動的にロビーに戻ります。クライアントがロビーにいるか知るにはPhotonNetwork.insideLobbyをチェックしてください。PhotonNetwork.LobbyStatisticsstaticgettrueを設定すると、マスターサーバーから、このアプリケーションで有効なロビーの情報を提供されます。プレイヤーのそれぞれのロビーでの活動を知りたい場合です。ロビー毎に「名前・タイプ・Room(とプレイヤー)数」を取得できます。PhotonNetwork.LobbyStatisticsはマスターサーバーに接続したときに更新されます。これは(たとえば)UIを更新するために実装する必要があります。Statistics(ロビー統計)はデフォルトでは有効ではありません。プロジェクトのPhotonServerSettingsファイルで有効化します。Client、または(Roomの外では)nullを返します。(AIを動作させるなどの)判断を下す「権限のある」クライアント/プレイヤーとして扱われます。ClientがRoomを出る(退室・回線切断)と、サーバーはすぐに別のプレイヤーに割り当てます。Clientが(アプリケーションを閉じる・回線切断などで)タイムアウトすると、このクライアントに送信されるメッセージは、他クライアントには実質的に失われます。Clientが無効になってから10秒間かかります。Clientが切り替わったとき、呼ばれるようにしてください。PhotonNetwork.SetMasterClientを使うと、誰か別のプレイヤー/クライアントに手動で切り替えることができます。trueなら、このメソッドは常にPhotonNetwork.playerを返します。PhotonNetwork.MaxResendsBeforeDisconnectstaticgetsetACKを受信できず回線切断の引き金になるより前に、定時性メッセージを再送信できる回数。再送信回数を減らすと、回線切断のタイミングが短くなります。その一方、再送信回数を増加すると、ラグを増加することにつながります。PhotonNetwork.NetworkStatisticsEnabledstaticgetsetこのクライアントの通信量統計を集計するのを有効にするか無効にするか。クライアントについて問題に出くわしたら、通信量統計は解決策を探すためのよい開始点になります。統計を有効にしたときだけ、GetVitalStatsを使用可能になります。PhotonNetwork.offlineModestaticgetsetオフラインモードによって、あなたのマルチプレイヤーゲームのコードをシングルプレイヤーゲームモードに再利用できるようになります。trueなら、PhotonNetworkはなにも接続しないので、オーバーヘッドがない状態に近くなります。便利なのは、RPCとPhotonNetwork.Instantiateを再利用できることです。PhotonNetwork.otherPlayersstaticgetローカルプレイヤーを含まない、他のプレイヤーリストです。このリストはクライアントがRoomにいる間のみ有効です。誰かが入退室した時には自動的に更新されます。このリストはRoomにいるすべてのプレイヤーをリストするのに使えます。それぞれのプレイヤーのPhotonPlayer.customPropertiesにアクセスできます。(PhotonPlayer.SetCustomPropertiesで同期されます)任意のオブジェクトを関連付けるためにPhotonPlayer.TagObjectを使うことができます。これはネットワーク経由で同期はされません。PhotonNetwork.PacketLossByCrcCheckstaticgetCrcCheckEnabledがtrueのとき、正しいCRCチェックサムにならず破棄された着信パケットの数を数えます。PhotonNetwork.playerstaticgetローカルのPhotonPlayerです。いつでも使用可能で、このプレイヤーを表します。CustomPropertiesはRoom入室前でもセット可能で、問題なく同期されます。PhotonNetwork.playerListstaticget現在のRoomにいるすべてのプレイヤーリストです。ローカルプレイヤーも含みます。このリストはクライアントがRoomにいる間のみ有効です。誰かが入退室した時には自動的に更新されます。このリストはRoomにいるすべてのプレイヤーをリストするのに使えます。それぞれのプレイヤーのPhotonPlayer.customPropertiesにアクセスできます。(PhotonPlayer.SetCustomPropertiesで同期されます)任意のオブジェクトを関連付けるためにPhotonPlayer.TagObjectを使うことができます。これはネットワーク経由で同期はされません。PhotonNetwork.playerNamestaticgetsetプレイヤーのニックネームを、入室したRoom内の全員に同期します。これはPhotonPlayer.nameを設定します。playerNameはただのニックネームで、一意である必要はなく、アカウントと共にバックアップする必要もありません。この値はいつ(たとえば接続前に)設定しても、プレイしている相手の誰に対しても有効です。使ってアクセスしてください。PhotonNetwork.otherPlayersは他プレイヤーの一覧です。含んでいるどれもが、リモートプレイヤーが設定したplayerNameです。Poolはインスタンス化されたオブジェクトインスタンスを保存して再利用できます。これはUnityデフォルトのInstantiateとDestroyメソッドを置き換えます。Poolを使うには、IPunPrefabPoolを実装してこれに設定する必要があります。Prefabは名前で区別されます。PhotonNetwork.QuickResendsstaticgetsetネットワーク上でデータ損失した場合、定時性メッセージが即再送されるのは3回までです。ネットワーク状態回復のために少し遅れます。このオプションによって、2回目、3回目の再送をスピードアップさせます。することでタイムアウトを回避できるようにしますが、すきまをふさぐのに必要なスピードも増加します。この変数をセットすると、PhotonNetwork.MaxResendsBeforeDisconnectの値が6から7に増加します。PhotonNetwork.ResentReliableCommandsstaticget(ACK受信前の、ローカルでの繰り返しタイミングのために)繰り返されたコマンドの数。この値が大きく増加すると、状態がよくないことによるタイムアウトによる回線切断は十分あり得ます。PhotonNetwork.roomstaticget現在入室しているRoom。どのRoomにも入室していないときはnullです。PhotonNetwork.sendRatestaticgetsetPhotonNetworkがパケットを、1秒に何度送信するかを定義します。これを変更するなら、'sendRateOnSerialize'も変更することを忘れないでください。パケットを減らすほど、オーバーヘッドも減りますが、遅延が増加します。sendRateを50に設定すると、1秒に50パケットを作りあげます。ターゲットプラットフォームを気をつけてください。モバイルネットワークは比較的遅く、信頼性も低くなります。PhotonNetwork.sendRateOnSerializestaticgetsetOnPhotonSerializeがPhotonViewに、1秒何度呼ばれるかを定義します。PhotonNetwork.sendRateと関連させて、この値を決めてください。OnPhotonSerializeは更新情報と、送信されるメッセージを作成します。レートを低くすると負荷も低くできますが、ラグが増加するでしょう。PhotonNetwork.Serverstaticgetこのクライアントが現在接続している、または接続しようとしているサーバー(の型)。Photonは3つの異なる役割のサーバーを用います。PhotonNetwork.ServerAddressstaticget(マスターかゲームサーバーかを問わず)現在使用されているサーバーアドレス。PhotonNetwork.ServerTimestampstaticget現在のサーバーのミリ秒単位のタイムスタンプです。これは同一Room内すべてのクライアントでアクションやイベントの同期に使えます。このタイムスタンプはサーバーのEnvironment.TickCountをベースにしています。これはオーバーフローして正の値から負の値になることも多いでしょう。時刻の差分のみを使う場合は注意をしてください。これはPhotonNetwork.timeをベースにしています。PhotonNetwork.timestaticgetPhotonのネットワークタイムです。サーバーと同期されます。このタイム値はサーバーのEnvironment.TickCountに応じて変わります。Room内ではすべてのクライアントが同じ値を持ちます(Roomは1つのサーバーだけにあります)。これはDateTimeではありません。この値はどんな正の値からでも開始可能です。この値は「ラップアラウンド」して、4294967.295から0に戻ります。PhotonNetwork.unreliableCommandsLimitstaticgetsetチャンネル毎の未保証コマンドを、配信単位で制限するかどうかに使われます(一時停止後にチャンネルが多いと、未保証コマンドを多く引き起こす可能性があります)。