목 차
이벤트 처리
- 이벤트 하는 법
- 이벤트 핸들러를 Namespace에 선언한다. (public delegate void [이벤트 핸들러 이름] (매개변수) )
- [객체1] 에서 이벤트 변수를 선언한다. ( public event [이벤트핸들러 이름] [이벤트 이름] )
- [객체1]에서 필요한 곳에 이벤트를 발생시킨다. ( [이벤트]?.Invoke(전달할 변수) )
- [객체2]에서 이벤트를 통해 어떤 상호작용을 할건지 그 함수를 작성한다.
- [객체1].[이벤트] += [객체2].[이벤트 작동함수] 를 통해 이벤트가 전달되도록 한다.
버그 리포트1-Console.Clear()
상점에 아이템을 9개 가량 추가했는데 이게 화면에 모든 글씨가 나오지 않는다면 Console.Clear()가 작동하지 않는 문제가 있다.
사용해본 방법:
- 1. Console.SetWindowSize(); ->커서 위치만 이상해진다.
- 2. Console.SetBufferSize(); -> 위와 다를게 없다.
- 3. 콘솔창 설정에서 크기 바꾸기 -> 암만 봐도 못찾음.
- 4. 콘솔창 설정에서 글씨크기 바꾸기 -> 껐다 키니까 콘솔창 크기가 줄어버림.
결국 해결하지 못하고 그냥 화면 사이즈를 수동으로 키우는 것으로 합의를 봤다.
버그 리포트2-배열이 복제되는 문제.
ShopItem이 복제가 되어버렸다. 아마 .json파일에 저장된 것과 생성자에서 만드는 것이 중복되어 그런 문제가 발생하는 것으로 찾아내긴 했지만, 이게 왜 발생하고 어떻게 막을 수 있는지는 찾을 수 없어 그냥 private으로 선언하는 것으로 합의를 봤다. 튜터님의 조언으로는 Shop 클래스와 Player 클래스를 완전히 분리하는 것을 추천한다고 하셨지만, 제출 기한이 다가왔기에 다음 기회로 미루었다.
마무리
너무 피곤해서 오늘의 TIL 은 내가 새롭게 알게 된 것 혹은 내가 해결하지 못한 문제들만 간단히 나열하고 마친다.
'내일배움캠프 > [P2-Solo.] SpartaDungeon' 카테고리의 다른 글
[TIL 24.04.26] 개인 프로젝트: 스파르타 던전(完) (0) | 2024.04.26 |
---|---|
[TIL 24.04.24] 개인 프로젝트: 스파르타 던전(1) (0) | 2024.04.24 |