Unity
에서 호스트가 pdf
파일 URL
을 입력하면 접속한 유저들이 그 URL
을 같이
공유할 수 있게 만들고 pdf viewer
로 볼 수 있게 만든다.
그리고 호스트가 보는 페이지도 같이 연동되어 보이게 만든다.
URL
을 가져오기 위한 path
변수와 현재 페이지 번호를 알기 위한 page_num
변수를 선언하였다.
이 변수들은 서버와 클라이언트끼리 동기화가 되어야 하기 때문에 SyncVar
로 묶어 주었다.
Trigger
함수를 통해 발판을 밟으면 URL입력칸이 나타나고 inputField.onValueChanged.AddListener(함수명);
을 통해 path
변수에 입력한 URL
로 넣어준다.
이제 URL
을 다 입력하고 UPLOAD
버튼을 누르게 되면 그 서버안에서 pdf
를 띄울 것이다. 이때 호스트만 직접적으로 수정하게 만들 것이다.
isServer
조건문으로 호스트만 Upload
를 할 수 있게 만들었고 클라이언트들은 업로드를 못하게 만들었다.
서버와 클라이언트 간에 상호작용을 하기 위해 유니티 Unet
에서 지원하는 코드가 있다.
클라이언트가 호출하고 서버에서 수행하는 Command
와
서버에서 호출하고 클라이언트에서 수행하는 Client Rpc
가 있다.
여기서는 Client Rpc
를 사용할 것이다.
사용방법은 함수앞에 속성값으로 [ClientRpc]
를 적어주고 함수명은 Rpc+함수명
으로 적어야 되는 규칙이 있다.
이렇게 페이지를 넘기는 스크립트도 RPC
통신으로 현재 페이지를 동기화 시키는 것을 알 수 있다.