• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

스테이지 찾는부분 조금만 더 자세히 설명부탁드려요 ㅠㅠ

23.03.25 05:00 작성 조회수 262

0

 

GetButton((int)Buttons.ChapterButton_1).gameObject.BindEvent(() => { OnClickChapterButton(1); });

UI_SelectStageScene.cs 에서 왼쪽에 배치된 챕터 버튼들 같은 경우에는 위처럼 바인드해서 ChapterButton_1 은 OnClickChapterButton 메서드에 1을 전달하니까 너무 직관적인데요 Stage는 잘 이해가 안가요 ㅠㅠ

for (int i = 0; i < _stageBlockUI.Length; i++)
{
    _stageBlockUI[i] = Utils.FindChild<UI_StageBlock>(gameObject, "UI_StageBlock" + (i + 1), recursive: true);
}

Child에서 "UI_StageBlock" 를 전부 찾아서 _stageBlockUI[i] 에 저장하고

UI_StageBlock.cs 에서 아래처럼 바인드를하고..?

GetButton((int)Buttons.SelectStageButton).gameObject.BindEvent(OnClickStageButton);

OnClickStageButton() 으로 넘어가서

_selectStageSceneUI?.OnSelectStage(_stage);

OnSelectStage를 실행하면서 _stage를 전달하는데

_stage가 몇인지는 어디서 판단하는건지 모르겠어요.

그러다보니 Refresh()함수에서도 _stage로 Text입히는것도 연결이 안되네요.

그리고 눌렀을때 콜백을 받아서 ShowStartStagePopup()으로 넘어가는데

public void ShowStartStagePopup()
{
    Managers.UI.ShowPopupUI<UI_StartStagePopup>(callback: (popup) =>
    {
        int templateID = (_selectedChapter - 1) * 20 + _selectedStage;
        popup.SetInfo(Managers.Data.Stages[templateID]);
    });

여기서도 tempateID 를 가져오기 위한 _selectedStage가 몇스테이지인지 어디서 판단하는건지를 모르겠어요 ㅠㅠ

 

저만 계속 질문하는것 같아 너무 죄송스럽습니다. C# 1편이랑 3편이랑 하고 넘어왔는데도 여전히 어려워요... 자꾸 질문하는게 죄송스러워서 맘편히 질문만 할수있는 강의 그런거라도 있으면 구입하고싶어요. 좋은 주말되세요!

 

답변 1

답변을 작성해보세요.

0

image
Alt+F (Visual Assist) or Shift+F12 (애드온 없이 Visual Studio 기본 단축키)등으로
SetInfo가 어디서 호출되는지 살펴보면 됩니다.

image
그럼 UI_StageSelectScene에서 코드가 연결이 되어 있죠!
image