728x90
포톤라이브러리에서 사용되는 커스텀 프로퍼티 값을 추려내려 하니 Dictionary 가 아닌 DictionaryEntry로만 가능했다
foreach (DictionaryEntry dic in PhotonNetwork.LocalPlayer.CustomProperties)
{
if(dic.Key.Equals("Message"))
{
chatText.text += dic.Value.ToString() + "\n";
}
}
PhotonNetwork.LocalPlayer.CustomProperties 에 대한 설명
그렇다 해쉬테이블이였다
Dictionary<TKey, Tvalue>클래스는 컬렉션 형식 중 하나다
- 키/값 쌍을 저장하는데 사용되며, 키와 값을 연결하여 데이터를 보관한다
- 특정 키에 대한 값을 검색하고 수정하는 등의 기능을 제공한다
- 주로 데이터를 검색하고 관리하기 위한 자료 구조로 사용됨
DictionaryEntry는 특별한 형태의 데이터 형식으로,
- 키와 값의 쌍을 하나의 개체로 저장한다
- 주로 Hashtable과 같은 해시 테이블 구조에서 사용된다
- Key및 Value 속성을 통해 키와 값을 추출할 수 있다
요약하면 Dictionary는 키와 값을 직접 연결하고 검색하고 수정하는 등을 위한 데이터 구조이며
DictionaryEntry는 해시 테이블과 같은 자료 구조에서 키와 값 쌍을 관리하기 위한 도우미 클래스 이다
효율성을 고려한다면 데이터 검색 및 관리를 위해 Dictionary를 사용하는 것이 좋고 DictionaryEntry는 이전버전의 .NET에서 주로 사용되긴 한다는 말 (구식-DictionaryEntry 신식-Dictionary)
PhotonNetwork.LocalPlayer.CustomProperties에서 요구하는 형식은 해시 테이블 형태이니 DicionaryEntry가 쓰인 것
728x90
'Unity' 카테고리의 다른 글
[Unity] Global과 Local (1) | 2023.10.20 |
---|---|
[Unity] Addressable Patch System (0) | 2023.09.22 |
PhotonNetwork_Chat2 (0) | 2023.08.30 |
PhotonNetwork_Chat (0) | 2023.08.30 |
비주얼 스튜디오 코드에서 using Photon.Pun 이 안되는 경우 (0) | 2023.08.29 |