SetInfo를 이용한 아이템 이름 변경
221
작성한 질문수 5
public override void Init()
{
Bind<GameObject>(typeof(GameObjects));
Get<GameObject>((int)GameObjects.ItemNameText).GetComponent<Text>().text = _name;
Get<GameObject>((int)GameObjects.ItemIcon).BindEvent((PointerEventData) => { Debug.Log($"아이템 클릭! {_name}"); });
}
public void SetInfo(string name)
{
_name = name;
}UI_Inven_Item에 있는 내용인데
UI_Inven에서
invenItem.SetInfo("집행검 어쩌구");
를 하면 UI_Inven_Item의 _name만 바꿔줬을 뿐인데
어떻게 Component의 값 까지 바뀌는거죠?
제가 생각할 떄는 SetInfo안에
Get<GameObject>((int)GameObjects.ItemNameText).GetComponent<Text>().text = _name;
이 코드가 필요한거 같은데
어떻게 ItemNameText가 업데이트가 되는지 모르겠습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
명성님의 질문에 대한 답변 드리겠습니다.
말씀하신 SetInfo 메소드는 _name 필드의 값을 바꿔주는 기능을 합니다. 그런데 UI에 있는 아이템의 이름은 어떻게 업데이트되는지 궁금해하시는 거군요. 일반적으로는 SetInfo를 호출한 후 UI 업데이트를 위해 추가적인 메소드를 호출해야 합니다.
예를 들어, 업데이트된 이름으로 UI 텍스트를 갱신하는 메소드를 만들어 볼 수 있겠죠. 아래와 같이 말이죠.
public void UpdateUI()
{
Get<GameObject>((int)GameObjects.ItemNameText).GetComponent<Text>().text = _name;
}
이 메소드는 SetInfo가 호출된 이후에 명시적으로 호출되어야 하며, 이렇게 하면 UI에 있는 텍스트 컴포넌트가 새로운 이름으로 업데이트 됩니다.
하지만 코드 상에서는 UpdateUI 같은 메소드 호출이 보이지 않는다면, 다른 어딘가에서 이 작업을 수행하고 있는 것일 수 있습니다. 예를 들어, SetInfo 메소드가 호출될 때 이벤트를 트리거해서 해당 작업을 처리하는 리스너가 있을 수 있습니다. 또는 SetInfo 메소드 내부 또는 다른 어딘가에서 _name 필드가 할당될 때 이를 감지하고 자동으로 UI를 업데이트하는 구현이 숨겨져 있을 수도 있습니다.
제공해주신 코드만으로는 구체적인 실행 흐름을 알 수 없기 때문에, SetInfo 메소드 호출 후 어떻게 이름이 UI에 반영되는지 알기 위해서는 SetInfo가 호출되는 전체 컨텍스트 또는 UI 업데이트와 관련한 다른 코드 부분을 확인해야 할 것 같습니다.
명성님의 코드가 정상 작동하고 있다면 어딘가에서 위와 같은 UI 업데이트 작업이 이루어지고 있을 겁니다. 혹시 말씀주신 내용 이외에 관련 코드나 로직이 더 있다면 같이 살펴보는 것이 좋을 것 같습니다.
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
28
2
UI 기능 관련 질문이 있습니다!
0
43
2
픽셀 좌표 스크린 좌표
0
35
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
82
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
86
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
85
1
Input 적용과 관련하여 질문 있습니다.
0
75
1
디버그 불가.. Unity에 연결 불가
0
83
1
달리기 애니메이션 에러
0
89
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
66
1
GetKey 오류
0
112
2
에셋을 어디에 올려두신지 알 수 있나요?
0
108
1
재귀호출? 오류나는데 왜 이래요 ?
0
169
6
Animation blending 파라미터 계산
0
69
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
97
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
88
2
질문있습니다
0
143
2
아 이거 소스코드 같은거 없나요?
0
143
3
질문 드립니다. string.IsNullOrEmpty(name)
0
87
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
136
2
유니티6 NavMesh 안되는분들
1
176
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
533
1
GetComponent<Poolable> 질문드립니다.
0
103
2
UI 불러오지 못함
0
119
2





