Photon Unity Networking 2  v2.1
English | 日本語 | 한국
Classes | Enumerations | Functions
公開API

早い段階で理解する必要のある最も重要なクラスをまとめます。 More...

Classes

class  PhotonNetwork
 PhotonNetworkプラグインを使うためのメインクラスです。 このクラスは静的クラスです。 More...
 
class  PhotonView
 PhotonViewはネットワーク上のオブジェクト(viewID)を識別し、制御クライアントがリモートインスタンスを更新する方法を設定します。 More...
 
struct  PhotonMessageInfo
 特定のメッセージ、RPC、または更新に関する情報のコンテナクラス。 More...
 
class  PhotonStream
 このコンテナは、OnPhotonSerializeView ()でPhotonViewの受信データを提供するため、またはあなたが提供するために使用されます。 More...
 

Enumerations

enum  ClientState
 Photonサーバータイプの切り替え、一部の操作などを処理するクライアントの状態値。 More...
 
enum  PunLogLevel
 PUNのクラスで生成されたログの出力レベルを決めるのに使われます。errorsか、info(やや多い)か、fullのいずれかです。 More...
 
enum  RpcTarget
 RPCのための「ターゲット」オプションを列挙したものです。これはどのリモートクライアントが自分のRPCコールを受信するかを定義します。 More...
 

Functions

void OnPhotonSerializeView (PhotonStream stream, PhotonMessageInfo info)
 スクリプトがPhotonViewの同期データを読み書きできるように、PUNによって1秒間に数回呼び出されます。 More...
 

Detailed Description

早い段階で理解する必要のある最も重要なクラスをまとめます。

Enumeration Type Documentation

enum ClientState

Photonサーバータイプの切り替え、一部の操作などを処理するクライアントの状態値。

Enumerator
PeerCreated 

ピアは作成されていますが、まだ使用されていません。

Authenticating 

サーバーへの接続中の状態の遷移。 Photon Cloudで、これはAppIdとAuthenticationValues(UserID)を送信します。

Authenticated 

使用されていません。

JoiningLobby 

クライアントはOpJoinLobbyを送信し、これがマスターサーバーで実行された場合、結果となります。ロビーに応じて、ルームのリストを取得します。

JoinedLobby 

クライアントは、MasterServerに接続されたロビーにあります。 ロビーに応じて、ルームのリストを取得します。

DisconnectingFromMasterServer 

マスターサーバーからゲームサーバーへの移行。

ConnectingToGameServer 

GameServerへの移行(クライアントの認証とルームへの参加/作成)。

ConnectedToGameServer 

GameServerに接続します(認証に進み、ゲームに参加します)。

Joining 

GameServerのルームへの参加または作成中の状態の遷移。

Joined 

クライアントがルームに入った。CurrentRoomとPlayersは既知であり、イベントを発生させることができます。

Leaving 

ルームを出るときの遷移状態。

DisconnectingFromGameServer 

ゲームサーバーからマスターサーバーへの移行(ルーム/ゲームを離れた後)。

ConnectingToMasterServer 

MasterServerへの接続(認証値の送信を含む)。

Disconnecting 

クライアントが(任意のサーバーから)切断します。 これにより、状態がDisconnectedになります。

Disconnected 

クライアントは(どのサーバーにも)接続されていません。 MasterServerに接続して続行します。

ConnectedToMasterServer 

MasterServerに接続しました。 今すぐマッチメイキングを使用するか、ロビーに参加します。

ConnectingToNameServer 

クライアントはNameServerに接続します。 このプロセスには、低レベルの接続と暗号化の設定が含まれます。 完了すると、状態はConnectedToNameServerになります。

ConnectedToNameServer 

クライアントはNameServerに接続され、すでに暗号化が確立されています。 OpGetRegionsまたはConnectToRegionMasterを呼び出す必要があります。

DisconnectingFromNameServer 

クライアントがNameServerから切断します(通常はMasterServerに接続するため)。

enum PunLogLevel

PUNのクラスで生成されたログの出力レベルを決めるのに使われます。errorsか、info(やや多い)か、fullのいずれかです。

Enumerator
ErrorsOnly 

エラーだけを表示します。出力は最小限です。注記: そのうちのいくつかは想定しなくてはならない「実行時エラー」かもしれません。

Informational 

いくつかの処理の流れ、呼び出しと結果をログに記録します。

Full 

利用可能なログはすべてconsole/logにログとして記録します。デバッグにのみ使用します。

enum RpcTarget

RPCのための「ターゲット」オプションを列挙したものです。これはどのリモートクライアントが自分のRPCコールを受信するかを定義します。

Enumerator
All 

RPCを他のプレイヤー全員に送信して、このクライアントで即座に実行します。後で入ってきたプレイヤーはこのRPCを実行しません。

Others 

RPCを他のプレイヤー全員に送信します。このクライアントはRPCを実行しません。後で入ってきたプレイヤーはこのRPCを実行しません。

MasterClient 

RPCをMasterClientだけに送信します。注記: MasterClientはRPCを実行する前に切断され、RPCが欠損する原因になるかもしれません。

AllBuffered 

RPCを他のプレイヤー全員に送信して、このクライアントで即座に実行します。新規プレイヤーがルームに入室すると、RPCがバッファリングされている順番通りRPCを受信します(このクライアントが退室するまで)。

OthersBuffered 

RPCを全員に送信します。このクライアントはRPCを実行しません。新規プレイヤー受信がルーム入室すると、RPCがバッファリングされているされている順番通りRPCを受信します(このクライアントが退室するまで)。

AllViaServer 

RPCをサーバーを介して(このクライアントも含む)全員に送信します。

このクライアントは、他のクライアントと同じように、サーバーからRPCを受信したときにRPCを実行します。 Benefit: 利点: サーバーのRPC送信順は、どのクライアントに対しても同じになります。

AllBufferedViaServer 

サーバーを介してRPCを後から入ってくるプレイヤーのためにバッファリングし、(このクライアントも含む)全員に送信します。

このクライアントは他のクライアントと同じように、サーバーからRPCを受信したときにRPCを実行します。 利点: サーバーのRPC送信順は、どのクライアントに対しても同じになります。

Function Documentation

void OnPhotonSerializeView ( PhotonStream  stream,
PhotonMessageInfo  info 
)

スクリプトがPhotonViewの同期データを読み書きできるように、PUNによって1秒間に数回呼び出されます。

このメソッドは、PhotonViewのObservedコンポーネントとして割り当てられているスクリプトで呼び出されます。
PhotonNetwork.SerializationRateは、このメソッドが呼び出される頻度に影響します。
PhotonNetwork.SendRateは、このクライアントによってパッケージが送信される頻度に影響します。

このメソッドを実装すると、PhotonViewがどのデータを定期的に同期するかをカスタマイズできます。 あなたのコードは何が送られているか(内容)とあなたのデータが受信クライアントによってどのように使われるかを定義します。

他のコールバックとは異なり、OnPhotonSerializeViewは、PhotonView.observedスクリプトとして PhotonViewに割り当てられている場合にのみ呼び出されます。

このメソッドを利用するには、PhotonStreamが不可欠です。 PhotonView(PhotonStream.IsWriting == true)を制御するクライアントでは「書き込み」モードになり、制御クライアントが送信したものを受信するだけの リモートクライアントでは「読み取りモード」になります。

ストリームへの値の書き込みをスキップすると、PUNは更新をスキップします。 慎重に使用すれば帯域幅とメッセージを節約できます(ルーム/秒ごとに制限があります)。

送信者が更新を送信しない場合、OnPhotonSerializeViewはリモートクライアントでは 呼び出されません。これは「1秒あたりのx回Update()」としては使用できません。

Implemented in PhotonAnimatorView, CullingHandler, PhotonTransformViewClassic, PhotonRigidbodyView, PhotonRigidbody2DView, PhotonTransformView, and SmoothSyncMovement.