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

actorID 로 식별되는 룸 내의 "플레이어"를 요약 합니다. More...

Inherits IComparable< PhotonPlayer >, IComparable< int >, IEquatable< PhotonPlayer >, and IEquatable< int >.

Public Member Functions

 PhotonPlayer (bool isLocal, int actorID, string name)
 PhotonPlayer 인스턴스를 생성 합니다. More...
 
override bool Equals (object p)
 PhotonPlayer 를 비교 합니다. More...
 
override int GetHashCode ()
 
void SetCustomProperties (Hashtable propertiesToSet, Hashtable expectedValues=null, bool webForward=false)
 이 플레이어의 커스텀 프로퍼티를 신규/갱신된 key-value 로 갱신합니다. More...
 
PhotonPlayer Get (int id)
 
PhotonPlayer GetNext ()
 
PhotonPlayer GetNextFor (PhotonPlayer currentPlayer)
 
PhotonPlayer GetNextFor (int currentPlayerId)
 
int CompareTo (PhotonPlayer other)
 
int CompareTo (int other)
 
bool Equals (PhotonPlayer other)
 
bool Equals (int other)
 
override string ToString ()
 PhotonPlayer 를 간략하게 요약한 문자열. 이름 또는 playerID 와 플레이어의 마스터 클라이언트가 포함됩니다. More...
 
string ToStringFull ()
 PhotonPlayer 를 문자열로 정리한 것 : player.ID, 이름과 이 사용자의 커스텀 프로퍼티가 포함되어 있습니다. More...
 

Static Public Member Functions

static PhotonPlayer Find (int ID)
 지정한 플레이어를 id 로 찾음 More...
 

Public Attributes

readonly bool IsLocal = false
 각 클라이언트에서 하나의 플레이어만이 제어 됩니다. 다른 플레이어들은 로컬이 아닙니다. More...
 
object TagObject
 레퍼런스를 저장 하며 "어떤 플레이어에 의한" 것인지 파악 할 때 유용합니다. More...
 

Properties

int ID [get]
 이 플레이아의 actorID More...
 
string NickName [get, set]
 플레이어의 별명. More...
 
string UserId [get, set]
 플레이어의 UserId. RoomOptions.publishUserId = true 로 설정 되어 룸이 생성 되었을 때 사용 할 수 있습니다. More...
 
bool IsMasterClient [get]
 이 플레이어가 현재 룸에서 마스터 클라이언트이면 true 입니다. More...
 
bool IsInactive [get, set]
 룸의 PlayerTTL 이 >0 일 때 룸내의 플레이어들이 비활성화 될 수 있습니다. 만약 true 이면 플레이어는 룸에서 발생되는 이벤트를 수신 하지 못하지만 다중에 복귀 할 수 있습니다. More...
 
Hashtable CustomProperties [get, set]
 읽기 전용 플레어어 커스텀 프로퍼티들. PhotonPlayer.SetCustomProperties 를 통해 설정 합니다. More...
 
Hashtable AllProperties [get]
 모든 프로퍼티를 가진 Hashtable 을 생성 합니다 (커스텀과 "잘 알려진" 것들). More...
 
string name [get, set]
 
string userId [get, set]
 
bool isLocal [get]
 
bool isMasterClient [get]
 
bool isInactive [get, set]
 
Hashtable customProperties [get, set]
 
Hashtable allProperties [get]
 

Detailed Description

actorID 로 식별되는 룸 내의 "플레이어"를 요약 합니다.

각 플레이어는 룸에서 유효한 actorId (또는 ID) 를 가지고 있습니다. 서버가 값을 지정 해 주기 전 까지는 -1 입니다. 각 클라이언트는 룸에 참여 하기 전에도 SetCustomProperties 를 통하여 플레이어의 커스텀 프로퍼티들을 설정 할 수 있습니다. 룸 프로퍼티들은 룸에 참여 할 때 동기화 됩니다.

Constructor & Destructor Documentation

PhotonPlayer.PhotonPlayer ( bool  isLocal,
int  actorID,
string  name 
)

PhotonPlayer 인스턴스를 생성 합니다.

Parameters
isLocal로컬 피어의 플레이어인지 판단 (또는 원격 플레이어인지).
actorID현재 룸 안에서 이 플레이어의 ID 또는 ActorNumber (룸에서 각 플레이어를 식별하기 위한 숏컷)
name플레이어 이름 ("잘 알려진 프로퍼티").

Member Function Documentation

int PhotonPlayer.CompareTo ( PhotonPlayer  other)
int PhotonPlayer.CompareTo ( int  other)
override bool PhotonPlayer.Equals ( object  p)

PhotonPlayer 를 비교 합니다.

bool PhotonPlayer.Equals ( PhotonPlayer  other)
bool PhotonPlayer.Equals ( int  other)
static PhotonPlayer PhotonPlayer.Find ( int  ID)
static

지정한 플레이어를 id 로 찾음

Parameters
IDActorID
Returns
actorID 와 일치하는 플레이어 또는 actorID 가 사용되고 있지 않으면 null.
PhotonPlayer PhotonPlayer.Get ( int  id)
override int PhotonPlayer.GetHashCode ( )
PhotonPlayer PhotonPlayer.GetNext ( )
PhotonPlayer PhotonPlayer.GetNextFor ( PhotonPlayer  currentPlayer)
PhotonPlayer PhotonPlayer.GetNextFor ( int  currentPlayerId)
void PhotonPlayer.SetCustomProperties ( Hashtable  propertiesToSet,
Hashtable  expectedValues = null,
bool  webForward = false 
)

이 플레이어의 커스텀 프로퍼티를 신규/갱신된 key-value 로 갱신합니다.

룸내의 모든 플레이어들이 사용할 수 있는 키-값 집합(Hanstable) 의 커스텀 프로퍼티들 룸 또는 개별 플레이어들과 관련 될 수 있고 관심이 있는 무엇인가의 현재 값만 유용 합니다. 예를 들면: 룸의 지도. 모든 키들은 문자열 이어야 합니다.

RoomPhotonPlayer 클래스는 모두 SetCustomProperties 메소드가 있습니다. 그리고 두 클래스들은 현재 키-값을 customProperties 를 통해 접근 합니다.

값을 변경하기 위해서 SetCustomProperties 를 이용하세요. 네트워크 트래픽을 감소시키기 위해서 실제로 변경된 값만 설정 합니다. 새로운 프로퍼티들은 추가되고 기존값은 갱신됩니다. 제공된 값만 변경 또는 추가 되며 다른 값들은 변경되지 않을 것입니다.

룸의 커스텀 프로퍼티를 삭제 하려면 null 값을 이용 합니다.

로컬에서 SetCustomProperties 는 지연 없이 프로퍼티의 캐시를 갱신 합니다. 다른 클라이언트들은 Photon (서버) 을 통해 맞는 오퍼레이션으로 갱신 되어 집니다.

검토하고 교체 하기

SetCustomProperties 는 서버측에서 검토 후 교체(Check And Swap,CAS)하는 옵션이 있습니다.: 예측되는 값들이어야만 값들이 변경 됩니다. expectedValues 는 propertiesToSet 와 다른 키/값일 수 있습니다. 따라서 키를 체크하고 다른 키의 값을 설정 할 수 있습니다( 체크가 성공 하면).

만약 클라이언트가 프로퍼티들이 잘못되었거나 시간이 지난 것임을 알게 되면 CAS 로 값을 설정 할 수 없습니다. 이것으로 플레이어들이 일관성있게 값을 설정하는데 유용할 수 있습니다. 예를 들어 모든 플레이어들이 동일한 카드 또는 아이템을 집어 들려고 할때, 한 명만 잡아야 합니다. CAS 를 통해서 첫 번째로 SetProperties 한 플레이어만 서버측에서 수행 하고 다른 플레이어(동시에 전송)들은 실패 하게 됩니다.

서버는 성공적으로 변경된 값과 customProperties 의 로컬 "캐시"를 브로드캐스트 할 것 입니다.

"webForward" 를 할 수 있습니다: Photon 은 어플리케이션에서 정의된 WebHoom 로 변경된 프로퍼티를 전송 할 것 입니다.

오프라인모드

PhotonNetwork.offlineMode 가 true 이면, expectedValues 와 webForward 파라미터들은 무시 됩니다. 오프라인 모드에서, 로컬 커스텀 프로퍼티들의 값은 즉시 갱신 됩니다(라운드 트립 없이).

Parameters
propertiesToSet설정 할 새로운 프로퍼티들.
expectedValues서버 측에서 체크하기 위한 최소 하나의 프로퍼티 키/값 집합. 키와 값은 반드시 맞아야 합니다. 오프라인 모드에서는 무시 됩니다.
webForwardWebHook 로 프로퍼티들을 포워드 하기 위해 true 로 설정 합니다. 앱에 정의되어있습니다(대시보드에서) 오프라인 모드에서는 무시됩니다.
override string PhotonPlayer.ToString ( )

PhotonPlayer 를 간략하게 요약한 문자열. 이름 또는 playerID 와 플레이어의 마스터 클라이언트가 포함됩니다.

string PhotonPlayer.ToStringFull ( )

PhotonPlayer 를 문자열로 정리한 것 : player.ID, 이름과 이 사용자의 커스텀 프로퍼티가 포함되어 있습니다.

주의 해서 사용하고 매 프레임에 사용하지 마세요! 매번 호출 마다 커스텀 프로퍼티들을 문자열로 변환 해 줍니다.

Member Data Documentation

readonly bool PhotonPlayer.IsLocal = false

각 클라이언트에서 하나의 플레이어만이 제어 됩니다. 다른 플레이어들은 로컬이 아닙니다.

object PhotonPlayer.TagObject

레퍼런스를 저장 하며 "어떤 플레이어에 의한" 것인지 파악 할 때 유용합니다.

예제: 인스턴스를 생성할 때 게임오브젝트 Tag 를 플레이어의 캐릭터에 설정 합니다.

Property Documentation

Hashtable PhotonPlayer.AllProperties
get

모든 프로퍼티를 가진 Hashtable 을 생성 합니다 (커스텀과 "잘 알려진" 것들).

더 자주 사용한다면 캐시되어야 합니다.

Hashtable PhotonPlayer.allProperties
get
Hashtable PhotonPlayer.CustomProperties
getset

읽기 전용 플레어어 커스텀 프로퍼티들. PhotonPlayer.SetCustomProperties 를 통해 설정 합니다.

이 Hashtable 의 내용을 변경하지 마세요. SetCustomProperties 과 클래스의 프로퍼티들을 이용하여 값을 변경 합니다. 이것을 사용했을 때 클라이언트는 서버와 같이 값이 동기화 될 것 입니다.

SetCustomProperties

Hashtable PhotonPlayer.customProperties
getset
int PhotonPlayer.ID
get

이 플레이아의 actorID

bool PhotonPlayer.IsInactive
getset

룸의 PlayerTTL 이 >0 일 때 룸내의 플레이어들이 비활성화 될 수 있습니다. 만약 true 이면 플레이어는 룸에서 발생되는 이벤트를 수신 하지 못하지만 다중에 복귀 할 수 있습니다.

bool PhotonPlayer.isInactive
getset
bool PhotonPlayer.isLocal
get
bool PhotonPlayer.IsMasterClient
get

이 플레이어가 현재 룸에서 마스터 클라이언트이면 true 입니다.

참조: PhotonNetwork.masterClient.

bool PhotonPlayer.isMasterClient
get
string PhotonPlayer.name
getset
string PhotonPlayer.NickName
getset

플레이어의 별명.

룸에서 이름을 동기화 하기 위해서 PhotonNetwork.playerName 로 설정 합니다.

string PhotonPlayer.UserId
getset

플레이어의 UserId. RoomOptions.publishUserId = true 로 설정 되어 룸이 생성 되었을 때 사용 할 수 있습니다.

PhotonNetwork.FindFriends 와 참여가 예상되는 플레이어를 위해 룸의 슬롯을 블럭 할 때 유용합니다(예, PhotonNetwork.CreateRoom 에서).

string PhotonPlayer.userId
getset