Photon Unity Networking  v1.81
English | 日本語 | 한국
Public Member Functions | Static Public Member Functions | Public Attributes | Properties | List of all members
PhotonView Class Reference

네트워킹을 위한 PUN의 NetworkView 대체 클래스. NetworkView 와 같이 사용 합니다. More...

Inherits Photon.MonoBehaviour.

Public Member Functions

void RequestOwnership ()
 PhtonView 의 소유권 이전 설정에 따라 모든 클라이언트가 이 PhotonView 의 소유권을 요청 할 수 있습니다. More...
 
void TransferOwnership (PhotonPlayer newOwner)
 PhotonView (그리고 게임오브젝트)의 소유권을 다른 플레이어로 이전 합니다. More...
 
void TransferOwnership (int newOwnerId)
 PhotonView (그리고 게임오브젝트)의 소유권을 다른 플레이어로 이전 합니다. More...
 
void OnMasterClientSwitched (PhotonPlayer newMasterClient)
 MasterClient 에 의해 소유가 유지되는 것을 지속하기 위해 sceneObjects 들에게 ownerId 를 지정하는 것을 검토하세요. More...
 
void SerializeView (PhotonStream stream, PhotonMessageInfo info)
 
void DeserializeView (PhotonStream stream, PhotonMessageInfo info)
 
void RefreshRpcMonoBehaviourCache ()
 PhotonNetwork.UseRpcMonoBehaviourCache 가 true 일 경우 이 게임오브젝트의 MonoBehaviours 의 목록을 갱신하는데 사용 될 수 있습니다. More...
 
void RPC (string methodName, PhotonTargets target, params object[] parameters)
 이 룸내 리모트 클라이언트로 이 게임오브젝의 RPC 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 전체에게) More...
 
void RpcSecure (string methodName, PhotonTargets target, bool encrypt, params object[] parameters)
 이 룸의 리모트 클라이언트에 있는 이 게임오브젝트의 RCP 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 모두). More...
 
void RPC (string methodName, PhotonPlayer targetPlayer, params object[] parameters)
 이 룸의 리모트 클라이언트에 있는 이 게임오브젝트의 RCP 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 모두). More...
 
void RpcSecure (string methodName, PhotonPlayer targetPlayer, bool encrypt, params object[] parameters)
 이 룸의 리모트 클라이언트에 있는 이 게임오브젝트의 RPC 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 모두). More...
 
override string ToString ()
 

Static Public Member Functions

static PhotonView Get (Component component)
 
static PhotonView Get (GameObject gameObj)
 
static PhotonView Find (int viewID)
 

Public Attributes

int ownerId
 
int group = 0
 
bool OwnerShipWasTransfered
 생명주기동안 설정되어 이 PhotonView 의 소유권을 체크하는 플래그입니다. 지연 참여시 소유자가 맞지않고 전송자에게 알려줄 필요가 있는 경우 검토할 때 사용합니다. More...
 
int prefixBackup = -1
 
ViewSynchronization synchronization
 
OnSerializeTransform onSerializeTransformOption = OnSerializeTransform.PositionAndRotation
 
OnSerializeRigidBody onSerializeRigidBodyOption = OnSerializeRigidBody.All
 
OwnershipOption ownershipTransfer = OwnershipOption.Fixed
 PhotonView 의 소유권이 고정되어 있으면 소유권 요청 또는 가져가는 것을 정의 합니다. More...
 
List< Component > ObservedComponents
 
int instantiationId
 
int currentMasterID = -1
 현재 마스터 ID로 OnMasterClientSwitched() 콜백을 수신할 때 비교해 볼 수 있습니다. 공개이므로 networkPeer 스크립트 내에서 ownerId 지정동안에 검토해 볼 수 있습니다. TODO: 이전의 MasterClient 를 항상 알고 networkPeer 를 가질 수 있을까요? More...
 

Properties

int prefix [get, set]
 
object[] instantiationData [get, set]
 PhotonNetwork.Instantiate* 를 호출 할 때 전달 되는 instantiationData 입니다 (이 프리팹을 스폰하기 위해서 사용된다면) More...
 
int viewID [get, set]
 PhotonView 의 ID. 네트워크 게임에서 PhotonView 를 식별 합니다(룸에서). More...
 
bool isSceneView [get]
 씬(게임오브젝트)에서 PhtonView 가 로드 되었거나 InstantiateSceneObject 로 인스턴스가 생성 되었으면 true. More...
 
PhotonPlayer owner [get]
 PhotonView 의 소유자로 해당 뷰에서 게임오브젝트를 생성한 플레이어 입니다. 이 씬에 있는 객체들은 소유자가 없습니다. More...
 
int OwnerActorNr [get]
 
bool isOwnerActive [get]
 
int CreatorActorNr [get]
 
bool isMine [get]
 PhotonView 가 "mine" 인 경우에 true 이며 이 클라이언트가 제어 할 수 있습니다. More...
 
- Properties inherited from Photon.MonoBehaviour
PhotonView photonView [get]
 이 게임에 있는 PhotonView 의 캐시된 참조. More...
 
new PhotonView networkView [get]
 유효 기간이 지난 값을 사용할 때 개발자들에게 알려주기 위해서 사용되는 프로퍼티 입니다. More...
 

Detailed Description

네트워킹을 위한 PUN의 NetworkView 대체 클래스. NetworkView 와 같이 사용 합니다.

Member Function Documentation

void PhotonView.DeserializeView ( PhotonStream  stream,
PhotonMessageInfo  info 
)
static PhotonView PhotonView.Find ( int  viewID)
static
static PhotonView PhotonView.Get ( Component  component)
static
static PhotonView PhotonView.Get ( GameObject  gameObj)
static
void PhotonView.OnMasterClientSwitched ( PhotonPlayer  newMasterClient)

MasterClient 에 의해 소유가 유지되는 것을 지속하기 위해 sceneObjects 들에게 ownerId 를 지정하는 것을 검토하세요.

Parameters
newMasterClient새로운 마스터 클라이언트.
void PhotonView.RefreshRpcMonoBehaviourCache ( )

PhotonNetwork.UseRpcMonoBehaviourCache 가 true 일 경우 이 게임오브젝트의 MonoBehaviours 의 목록을 갱신하는데 사용 될 수 있습니다.

캐싱을 하기 위하여 PhotonNetwork.UseRpcMonoBehaviourCache 을 true 로 설정 합니다. (잠재적으로)RPC를 호출하기 위하여 MonoBehaviours 의 리스트를 얻기 위해서는 this.GetComponents<MonoBehaviour>()를 사용 합니다.

RPC 가 호출 될 때 리스트가 갱신 되기 때문에 PhotonNetwork.UseRpcMonoBehaviourCache 가 false 이면 이 메소드는 효과가 없습니다.

void PhotonView.RequestOwnership ( )

PhtonView 의 소유권 이전 설정에 따라 모든 클라이언트가 이 PhotonView 의 소유권을 요청 할 수 있습니다.

ownershipTransfer 설정이 소유권 이전을 할 수 있도록 설정 되어 있으면 소유권 요청은 PhotonView 에 대한 제어권을 줄 수 있습니다. 현재 소유자는 소유권 요청을 처리하기 위한 IPunCallbacks.OnOwnershipRequest 를 구현 해야 합니다.

PhotonView 의 소유자/제어자로 게임오브젝트의 위치 갱신정보를 보내는 클라이언트 입니다.

void PhotonView.RPC ( string  methodName,
PhotonTargets  target,
params object[]  parameters 
)

이 룸내 리모트 클라이언트로 이 게임오브젝의 RPC 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 전체에게)

Remote Procedure Calls은 PUN 으로 멀티플레이어 게임 제작시 필수 도구 입니다. 룸 내의 모든 클라이언트가 특정 메소드를 호출 할 수 있도록 해 줍니다.

RPC 호출의 대상은 "모두" 또는 "다른사람" 들이 될 수 있습니다. 일반적으로 "모든" 대상은 RCP 전송 후에 즉시 로컬에서 실행 됩니다. "*ViaServer" 옵션은 RPC 를 서버에 전송하고 다시 전송이 되돌아 왔을 때 이 클라이언트에서 실행 됩니다. 물론, 호출들은 이 클라이언트의 lag 와 리모트 클라이언트에 영향을 주게 됩니다.

각 호출은 자동적으로 발생 클라이언트에서 사용 되었던 동일한 PhotonView (그리고 게임오브젝트) 에 라우팅 됩니다.

참고: Remote Procedure Calls.

Parameters
methodNameRPC 속성을 가지고 있는 메소드의 이름.
target타겟들의 그룹과 RPC 가 전송되는 방법.
parametersRPC 메소드의 파라미터들(이 호출과 맞아야 합니다!).
void PhotonView.RPC ( string  methodName,
PhotonPlayer  targetPlayer,
params object[]  parameters 
)

이 룸의 리모트 클라이언트에 있는 이 게임오브젝트의 RCP 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 모두).

Remote Procedure Calls은 PUN 을 이용한 멀티플레이어 게임 제작시 필수 도구 입니다. 룸 내의 모든 클라이언트가 특정 메소드를 호출 할 수 있도록 해 줍니다.

이 메소드는 지정한 플레이어의 클라이언트에 RPC 호출을 할 수 있도록 합니다. 물론, 호출들은 이 클라이언트의 lag 와 리모트 클라이언트에 영향을 주게 됩니다.

각 호출은 자동적으로 발생 클라이언트에서 사용 되었던 동일한 PhotonView (그리고 게임오브젝트) 에 라우팅 됩니다.

참고: Remote Procedure Calls.

Parameters
methodNameRPC 속성을 가지고 있는 메소드의 이름.
targetPlayer타켓들의 그룹과 RPC 가 전송되는 방법.
parametersRPC 메소드의 파라미터들(이 호출과 맞아야 합니다!).
void PhotonView.RpcSecure ( string  methodName,
PhotonTargets  target,
bool  encrypt,
params object[]  parameters 
)

이 룸의 리모트 클라이언트에 있는 이 게임오브젝트의 RCP 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 모두).

Remote Procedure Calls은 PUN 을 이용한 멀티플레이어 게임 제작시 필수 도구 입니다. 룸 내의 모든 클라이언트가 특정 메소드를 호출 할 수 있도록 해 줍니다.

RPC 호출의 대상은 "모두" 또는 "다른사람" 들이 될 수 있습니다. 일반적으로 "모든" 대상은 RPC 전송 후에 즉시 로컬에서 실행 됩니다. "*ViaServer" 옵션은 RPC 를 서버에 전송하고 다시 전송이 되돌아 왔을 때 이 클라이언트에서 실행 됩니다. 물론, 호출들은 이 클라이언트의 lag 와 리모트 클라이언트에 영향을 주게 됩니다.

각 호출은 자동적으로 발생 클라이언트에서 사용 되었던 동일한 PhotonView (그리고 게임오브젝트) 에 라우팅 됩니다.

참고: Remote Procedure Calls.

Parameters
methodNameRPC 속성을 가지고 있는 메소드의 이름.
target타겟들의 그룹과 RPC 가 전송되는 방법.
encrypt
parametersRPC 메소드의 파라미터들(이 호출과 맞아야 합니다!).
void PhotonView.RpcSecure ( string  methodName,
PhotonPlayer  targetPlayer,
bool  encrypt,
params object[]  parameters 
)

이 룸의 리모트 클라이언트에 있는 이 게임오브젝트의 RPC 메소드를 호출 합니다.(또는 이 클라이언트를 포함한 모두).

Remote Procedure Calls은 PUN 을 이용한 멀티플레이어 게임 제작시 필수 도구 입니다. 룸 내의 모든 클라이언트가 특정 메소드를 호출 할 수 있도록 해 줍니다.

이 메소드는 지정한 플레이어의 클라이언트에 RPC 호출을 할 수 있도록 합니다. 물론, 호출들은 이 클라이언트의 lag 와 리모트 클라이언트에 영향을 주게 됩니다.

각 호출은 자동적으로 발생 클라이언트에서 사용 되었던 동일한 PhotonView (그리고 게임오브젝트) 에 라우팅 됩니다.

참고: Remote Procedure Calls.

param name="methodName">RPC 속성을 가지고 있는 메소드의 이름.

param name="targetPlayer">타겟들의 그룹과 RPC 가 전송되는 방법.

param name="encrypt">

param name="parameters">RPC 메소드의 파라미터들(이 호출과 맞아야 합니다!).

void PhotonView.SerializeView ( PhotonStream  stream,
PhotonMessageInfo  info 
)
override string PhotonView.ToString ( )
void PhotonView.TransferOwnership ( PhotonPlayer  newOwner)

PhotonView (그리고 게임오브젝트)의 소유권을 다른 플레이어로 이전 합니다.

PhotonView 의 소유자/제어자로 게임오브젝트의 위치 갱신정보를 보내는 클라이언트 입니다.

void PhotonView.TransferOwnership ( int  newOwnerId)

PhotonView (그리고 게임오브젝트)의 소유권을 다른 플레이어로 이전 합니다.

PhotonView 의 소유자/제어자로 게임오브젝트의 위치 갱신정보를 보내는 클라이언트 입니다.

Member Data Documentation

int PhotonView.currentMasterID = -1

현재 마스터 ID로 OnMasterClientSwitched() 콜백을 수신할 때 비교해 볼 수 있습니다. 공개이므로 networkPeer 스크립트 내에서 ownerId 지정동안에 검토해 볼 수 있습니다. TODO: 이전의 MasterClient 를 항상 알고 networkPeer 를 가질 수 있을까요?

int PhotonView.group = 0
int PhotonView.instantiationId
List<Component> PhotonView.ObservedComponents
OnSerializeRigidBody PhotonView.onSerializeRigidBodyOption = OnSerializeRigidBody.All
OnSerializeTransform PhotonView.onSerializeTransformOption = OnSerializeTransform.PositionAndRotation
int PhotonView.ownerId
OwnershipOption PhotonView.ownershipTransfer = OwnershipOption.Fixed

PhotonView 의 소유권이 고정되어 있으면 소유권 요청 또는 가져가는 것을 정의 합니다.

실행시에는 변경 할 수 없습니다. 옵션들은 OwnershipOption enum 에 설명되어 있습니다. 현재의 소유자는 IPunCallbacks.OnOwnershipRequest 를 구현하여 소유권 요청에 대한 응대를 해야 합니다.

bool PhotonView.OwnerShipWasTransfered

생명주기동안 설정되어 이 PhotonView 의 소유권을 체크하는 플래그입니다. 지연 참여시 소유자가 맞지않고 전송자에게 알려줄 필요가 있는 경우 검토할 때 사용합니다.

소유권이 전이 되었으면 true, 그외에는 false.

int PhotonView.prefixBackup = -1
ViewSynchronization PhotonView.synchronization

Property Documentation

int PhotonView.CreatorActorNr
get
object [] PhotonView.instantiationData
getset

PhotonNetwork.Instantiate* 를 호출 할 때 전달 되는 instantiationData 입니다 (이 프리팹을 스폰하기 위해서 사용된다면)

bool PhotonView.isMine
get

PhotonView 가 "mine" 인 경우에 true 이며 이 클라이언트가 제어 할 수 있습니다.

PUN 은 각 PhotonView 를 누가 제어하며 제거하는가를 정의하는 소유권 개념이 있습니다. 로컬 PhotonPLayer 와 소유자가 일치하는 경우에 true 입니다. 마스터 클라이언트 상의 씬 PhotonView 이면 true 입니다.

bool PhotonView.isOwnerActive
get
bool PhotonView.isSceneView
get

씬(게임오브젝트)에서 PhtonView 가 로드 되었거나 InstantiateSceneObject 로 인스턴스가 생성 되었으면 true.

씬 객체들은 특정 플레이어가 소유하지 않고 씬이 소유하고 있습니다. 따라서 씬 객체들은 생성자가 룸을 떠나도 없어지지 않으며 현재의 마스터 클라이언트(누가 되던지 간에)가 씬 객체들을 제어 할 수 있습니다. ownerId 는 0 입니다(플레이어 ID는 1 이상입니다).

PhotonPlayer PhotonView.owner
get

PhotonView 의 소유자로 해당 뷰에서 게임오브젝트를 생성한 플레이어 입니다. 이 씬에 있는 객체들은 소유자가 없습니다.

PhotonView 의 소유자/제어자로 게임오브젝트의 위치 갱신정보를 보내는 클라이언트 입니다.

소유권은 PhotonView.TransferOwnership 로 다른 플레이어에게 이관될 수 있고 다른 플레이어가 PhotonView 의 RequestOwnership 를 호출 하여 소유권을 요청 할 수 있습니다. 현재의 소유자는 소유권 요청을 처리 하기 위해서 IPunCallbacks.OnOwnershipRequest 를 구현 해야 합니다.

int PhotonView.OwnerActorNr
get
int PhotonView.prefix
getset
int PhotonView.viewID
getset

PhotonView 의 ID. 네트워크 게임에서 PhotonView 를 식별 합니다(룸에서).

참고: Network 인스턴스 생성