1일1알

채팅 본문

유니티/C# 서버 연동 유니티 포트폴리오

채팅

영춘권의달인 2024. 5. 11. 18:41

채팅은 서버에서는 크게 하는건 없다.

후에 파티 시스템도 만드는데, 만약 가입한 파티가 없다면 플레이어가 속한 Room의 모든 플레이어에게 해당 채팅을 다시 전송하고, 가입한 파티가 있다면 파티원들에게 채팅을 전송해준다.

 

클라이언트에서는 채팅 패킷을 받으면 채팅 메세지 UI를 만들고 채팅UI에 있는 Scroll View의 Content의 자식으로 붙여준다. 

그냥 추가만 해주면 스크롤바가 위로 올라가는데, 이를 방지하기 위해 추가할때마다 스크롤바의 value를 0으로 설정하여 스크롤바가 올라가지 않도록 해주었다.

 

Enter로 채팅을 전송한 뒤 게임 화면을 클릭하지 않으면 InputField에서 포커스가 풀리지 않아서 움직이다가 채팅창이 갑자기 켜지는 현상이 있었는데, 이것을 해결하느라 삽질을 좀 많이 했다.

 

EventSystem.current.SetSelectedGameObject(null); 로 해결하였다.