inflearn logo
강의

Course

Instructor

[Practical Game Code Review] Unity Clicker Game

함수호출 순서관련해서 질문있습니다.

Resolved

427

xhtkwkd11223036

2 asked

0

[실전 게임 코드 리뷰] 개미회사 소스를 보면서 함수호출 관련해서 궁금점이 생겼습니다.

public class UI_TitlePopup : UI_Popup
{
//생략
	void OnClickStartButton()
	{

		Managers.UI.ShowPopupUI<UI_ConfirmPopup>().SetInfo(() =>
		{
			Managers.Game.Init();
			Managers.Game.SaveGame();
			Managers.UI.ClosePopupUI(this); // UI_TitlePopup
			Managers.UI.ShowPopupUI<UI_NamePopup>();
		}, Managers.GetText(Define.DataResetConfirm));
	}
//생략
}

 

위 코드에서

 

Managers.UI.ShowPopupUI<UI_ConfirmPopup>().SetInfo(() 

 

이 부분에서 Managers.UI.ShowPopupUI 이 코드는 팝업을 인스턴스화 시켜서 그 인스턴스의 .SetInfo 함수를 호출하는데,

 

  1. SetInfo 함수를 호출했을 때, 생성된 UI_ConfirmPopup의 Start 함수는 호출이 된 상태일까요?

  2. 아니면 객체만 생성되고 Start 함수는 호출되지 않았지만 SetInfo 함수를 호출할 수 있는 상태인 건가요?

 

디버깅 모드를 보면 Start 함수는 호출이 안됐는데 SetInfo 로 초기화가 되고 있는 것 같습니다.

 

 

 

일반적으로 Object.Instantiate() 와 같은 함수로 객체를 생성하면 생성하자마자 Start 함수가 호출되고 함수 내에 초기화된 프로퍼티를 쓸 수 있는지가 알고 싶습니다.

 

그 이유는 혼자 게임을 만들다 보면, 위와 비슷하게 어떤 객체 내부에서 자식객체를 생성하고 초기화 해줄 때가 있는데, Start 함수가 호출되어서 프로퍼티가 전부 초기화된 줄 알고 접근하면 null 에러가 뜰 때가 있어서 질문드립니다.

 

 

 

unity

Answer 1

0

Rookiss

  1. 아뇨 Awake만 호출된 상태입니다.

  2. 맞습니다. 이런 경우 Awake에 넣거나, 객체에 bool _init 값을 두고 그것으로 초기화 안되었으면
    알아서 초기화하게 넣어주면 편안해집니다.

0

xhtkwkd11223036

감사합니다. 이해했어요.

dotween pro와 dotween

0

102

2

SceneType 질문

0

57

2

소스코드 문의

0

76

1

유니티6 6000.0.0.35f1 버전을 사용하는데 잘 됩니다~

0

356

1

코드 분석하면서 강의 복습중인데 질문 있습니다!

0

222

1

이전에 프레임웍을 만들때라는 말씀

0

217

1

Missing (Mono Script)

0

407

1

그냥 씬 자체가 실행이 안됩니다..

0

645

2

어떡하죠?

0

688

2

unity 다운 시간

0

279

0

바인드가 안돼요

0

321

1

Update문을 호출하기전에 왜 호출하는게 자기자신인지 확인하나요?

0

198

1

안녕하세요! 시작...부터 조금 막혔어요..ㅠㅠ 도와주세요

0

4710

2

버튼 조작을 해주는 스크립트 위치

0

297

1

RefreshUI(); 기능이 궁금합니다.

0

293

1

Action Invoke할때 ?는 뭔가요?

1

425

1

데이터 읽기 쓰기에 관련해서 질문 있습니다.

0

383

1

Scene탭에 Auto Save 어떻게 활성화시키나요?

0

1356

1

루키스님 바쁘시겠지만 혹시 한 번만 봐주실 수 있나요?

0

440

1

DataManager 관련 질문

0

458

2

갑자기 바인드가 되지 않습니다.ㅠㅠ

0

371

1

저작권 관련 질문이 있습니다.

1

518

1

Visual studio 스타일

0

435

1

Sprite Image vs UI Image

0

912

1