인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

zjarhd171님의 프로필 이미지
zjarhd171

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

JobTimer

Broadcast() 함수는 Push()로 캡슐화하지 않는 이유가 궁금합니다

해결된 질문

작성

·

499

0

public Player FindPlayer()는 리턴값 Player가 당장 필요해서 호출하는 함수니까 Push()를 안 하는 건 이해했습니다.

근데 public void Broadcast()도 FindPlayer()와 같은 케이스라고 하셨습니다. 이게 무슨 뜻인지 이해가 안 갑니다.

리턴값이 있는 것도 아니고 그냥 room.Push(room.Broadcast, packet) 처럼 Push로 고쳐도 상관없을 것 같은데 아닌가요?

혹시 Broadcast()는 엄청 많이 호출되는 특수한 함수니까 성능상 이유 때문에 Push()를 생략하고 호출한다거나 그런 건가요?

왜 FindPlayer()와 Broadcast()가 같은 케이스인지 궁금합니다.

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

물론 그렇게 해도 되긴 하지만,
함수들 중에서는 Job으로 예약하지 않고 즉발성으로 바로 실행하길 원하는 경우도 있는데,
Broadcast는 패킷 처리하는 것에 불과하니
굳이 새로운 Job으로 예약하기 보다는 바로 실행하고 싶다는 의미였습니다.

zjarhd171님의 프로필 이미지
zjarhd171

작성한 질문수

질문하기