게임 대기실에 GameManager 오브젝트 하나가 있고
이 오브젝트에는 ViewID를 키, 스크립터블 오브젝트를 밸류로 하는 딕셔너리가 하나 있습니다
마스터 클라이언트가 들어올 때 딕셔너리가 생성 및 초기화되고
두번째 클라이언트가 룸에 들어오면 원래 있던 딕셔너리를 받아와야 하는데
자꾸 못 받아와서 null 에러가 납니다
딕셔너리 값이 변경될 때마다 RPC를 보내서 동기화는 되는데
두번째 클라이언트가 룸에 입장할 때 동기화가 안되는구나 싶어 OnPlayerEntered랑 OnJoinedRoom 다 써봤느데 안됩니다..
어떤 아이디어가 있을까요
두번째 클라이언트가 들어올때 딕셔너리 받는다는게 무슨 데이터를 받는다는거임? 벨류가 스크립터블 오브젝트인데 그것을 데이터로 보낸다는거임??? 포톤 데이터 보낼수있는 타입이 한정되있는데 문서로 보셈 OnPlayerEntered , OnJoinedRoom 이런거 쓰지말고 RPC로 하고 Buffer으로 해서보내고 보내기전에 한번 버퍼 클리어해주고 하셈 아니면 커스텀프로퍼티로 하던가
내가 알기로 포톤에서 네트워크 간에 보낼 수 있는 자료구조는 정해져 있고 딕셔너리는 아마 못 보낼거임 딕셔너리 동기화하고 싶으면 너가 딕셔너리 동기화할 수 있도록 추가도 가능하긴 한데 이 방법보단 각 키, 값들을 쭉 보내고 그걸 받아와서 동기화시키던가 해야 할 듯 근데 두 번째 클라가 들어올 때 굳이 키-밸류 덩어리로 받아와야 할 필요가 있나? 좀 오래되서 까먹긴 했는데 포톤에서 제공하는 플레이어 정보 가져오는 기능 있지않음?