오늘은 Unity의 커스텀 에디터 창에서 원래는 하나씩만 추가하던 아이템을 버튼 한 번으로 전부 추가하도록 스크립트를 수정해봤습니다.
기존 기능
- 에디터 창에서 아이템 드롭다운 목록 중 하나를 선택
- “Add Item” 버튼을 누르면 그 하나만 인벤토리에 추가
var names = _items.Select(x => x.ItemName).ToArray(); _selectedIndex = EditorGUILayout.Popup("테스트 아이템", _selectedIndex, names); var selectedItem = _items[_selectedIndex]; _inventory.AddItem(selectedItem, 1);
문제점
한 번에 하나씩만 추가 가능해서, 테스트할 때 여러 아이템을 넣으려면 너무 번거로움
변경할 동작
버튼 하나로 모든 아이템을 한꺼번에 추가
변경 내용
기존 버튼 코드
if (GUILayout.Button("Add Item")) { _inventory.AddItem(selectedItem, 1); }
변경 후 코드
if (GUILayout.Button("Add All Items")) { foreach (var item in _items) { _inventory.AddItem(item, 1); } Debug.Log($"[TestItem] {_items.Length}개 아이템을 인벤토리에 추가했습니다."); }
결과
"Add All Items" 버튼을 누르면
- _items 리스트의 모든 아이템을 순회
- 인벤토리에 1개씩 추가
- 로그로 몇 개 추가했는지 출력
테스트 개선 사항
✅ EditorGUILayout.Button()으로 버튼 생성
✅ foreach 문으로 리스트 순회
✅ 디버그 로그로 결과 확인
✅ 필요 없는 드롭다운, 라벨 등 제거해서 UI 단순화
느낀 점
에디터 확장으로 작업을 훨씬 편하게 할 수 있다.
간단한 기능도 반복 작업을 줄이면 시간 절약 효과가 크다.
UI 요소를 잘 정리하면 유지보수도 쉽다.
마무리
오늘은 버튼 하나로 모든 아이템을 추가하는 기능을 추가해봤습니다.
테스트 툴을 좀 더 편리하게 만들어서 앞으로 아이템 데이터 관리가 훨씬 수월해질 것 같습니다.
'Unity' 카테고리의 다른 글
[내일배움캠프] Unity 스킬 트리 1차 프로토타입 (0) | 2025.07.02 |
---|---|
[내일배움캠프] 스킬 트리 구상해보기.. 클래스 설계에 대한 고민 (0) | 2025.07.01 |
[내일배움캠프] 빈 딕셔너리 검사~! (0) | 2025.06.18 |
[내일배움캠프] 유니티에서 CSV 파일 활용방법 / 데이터 관리 / ScriptableObject와의 차이점 (0) | 2025.06.04 |
[내일배움캠프] Rigidbody와 Constraints (0) | 2025.05.28 |