inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)

로비 #1

(UI_SelectCharacterPopup) 히어로 선택창에서 클릭과 관련된 코드에서 질문이 하나 있습니다.

해결된 질문

269

ChaYong

작성한 질문수 8

0

안녕하세요 루키스님^^

요세 루키스님 강의 덕택에 매일매일이 너무 즐거운 하루를 보내고 있는 수강생입니다.

이번에도 강의를 복습하던 중 궁금한 점이 하나 생겨서 질문올리게 되었습니다.

히어로 목록창에서 하나를 클릭하게 되면

1. UI_CharacterSlotItem.cs에서 OnClickSelectHeroImage()가 실행

2. OnClickSelectHeroImage() 실행시 onHeroSelected에 등록된 UISelectCharacterPopup.cs의 OnHeroSelected()가 실행

3. OnHeroSelected()에서 UISelectCharacterPopup.cs의 RefreshUI()실행

4. RefreshUI()가 실행되면 각 slots를 순회하면서 UICharacterSlotItem.cs의 SetInfo()가 실행

5.  SetInfo()에서 UICharacterSlotItem.cs의 RefreshUI()실행

6. OnClickSelectHeroImage()에서 다시 UICharacterSlotItem.cs의 RefreshUI()실행

이런 순서로 RefreshUI() 2회 실행이 되는 것으로 이해했습니다.

위 코드에서 SetInfo() 내부에 RefreshUI()가 들어 있음에도, OnClickSelectHeroImage()에도 RefreshUI()가 들어있습니다.

OnClickSelectHeroImage()에 RefreshUI()를 주석처리 해도 코드는 작동이 되는 것 같습니다.

혹시 OnClickSelectHeroImage()에 RefreshUI()를 넣어두신 다른 이유가 있으신가요?

 

C# unity mysql MMORPG ef-core asp.net-web-api

답변 2

1

Rookiss

클라 코드에서 이런 중복 처리가 종종 보일 수 있는데,
사실 특별한 의도가 있다기 보다는
이리 저리 Refresh 코드를 넣다 보니 발생한 휴먼 에러입니다.
가끔은 코드를 정리하다 보면 어쩔 수 없는 경우도 있긴 하지만요-

0

ChaYong

아하! 답변 감사합니다^^

루키스님 강의 너무 재밌어요. 앞으로도 열심히 따라가겠습니다^^

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

님의 질문에 대한 정확한 대답을 드리려면 루키스님의 강의 콘텐츠와 소스 코드 전체를 보는 것이 가장 좋겠지만, 제공된 정보만으로 유추를 해보면 OnClickSelectHeroImage()에 RefreshUI()를 추가로 호출하는 이유는, 사용자가 히어로를 선택할 때마다 UI를 즉각적으로 업데이트하기 위해 이중으로 확인하는 로직이 포함되어 있는 것일 수 있습니다.

SetInfo() 내부에서 RefreshUI()를 호출하는 것은 해당 슬롯의 정보를 갱신한 직후 바로 UI를 업데이트하려는 목적이고, OnClickSelectHeroImage()에서도 RefreshUI()를 호출하는 것은 사용자의 선택이 반영되어 전체 캐릭터 선택창 UI가 갱신되길 바라는 의도일 수 있습니다. 이렇게 두 곳에서 호출하는 것은 사용자의 인터렉션에 대한 응답성을 높이기 위한 추가적인 안전장치로 볼 수 있습니다.

그러나 이는 저의 추측일 뿐이므로, 이런 방식으로 코드가 작성된 구체적인 이유는 강의 내용을 더 상세히 살펴보거나 직접 루키스님에게 질문해보는 것이 가장 정확한 해답을 얻는 방법일 것입니다.

학습 전 커리큘럼 관련 질문 드립니다

0

112

1

강의 커리큘럼 질문 드립니다

0

62

1

수업질문은 아닌데요^^

0

117

1

게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제

0

85

1

선 이동과 히트 판정에 대해 질문 드립니다.

0

91

1

Job Scheduler - Cache locality

0

76

2

MMO 3D 게임 서버의 스킬 판정을 어떻게 하면 좋을까요?

0

190

2

코드 머지와 관련하여.

0

95

1

퀘스트 처리 시 궁금한게 있습니다.

0

116

2

Nagle Algorithm

0

100

1

현재 강의를 이용하여 3D 게임을 만들 경우 변경되야 될 사항들에 대해 궁금합니다.

0

134

2

ResourceManager에서 Multiple Sprite를 로드하는 방법

0

102

1

M2는 업데이트가 끝난건가요?

0

149

1

Interpolation & Server Tick Frequency

0

172

2

서버에서 디스커넥트되시는분들 JWT 관련 참고하셔요

0

121

1

aws 와 microsoft azure 중 aws 선택하신 이유가 궁금합니다.

0

189

1

강의는 끝인건가요?

0

332

2

아이템 강화 테이블 관련

0

226

2

강의 관련 질문 드립니다.

0

238

1

리니지1의 이동 질문

0

402

2

버그에대한 썰

0

132

1

포탈 프로젝트에 서버 코드에 에러가 뜨네요

0

139

1

아이템 수량에 관해서 질문입니다.

0

143

1

퀘스트 관련 질문 드립니다.

0

144

1