본문 바로가기

마지막

TIL(Today I Learned) - 83 TIL (Today I Learned) - 2025년 1월 20일1. 스킬 시스템 리팩토링기존에는 ActiveSkill, PassiveSkill, BuffSkill 등 각 스킬 타입을 별도의 클래스들로 관리했으나, 코드 중복과 유지보수 문제로 인해 BaseSkill 클래스로 통합 리팩토링 진행.공통 로직(쿨다운, 스킬 효과, 강화 등)을 BaseSkill에서 처리하고, 각 스킬의 특화된 로직은 하위 클래스에서 구현하도록 구조 변경.SkillEffect 객체를 활용해 스킬 효과를 일관되게 처리하며, SkillEffectManager로 스킬 발동 로직 관리.코드의 중복이 줄고, 새로운 스킬 타입 추가 시 확장성이 높아짐.2. Inventory 시스템 리팩토링기존에는 스킬, 무기, 장신구 등 아이템별로 별도 .. 더보기
TIL(Today I Learned) - 82 오늘의 TIL (Today I Learned)Unity 프로젝트 디버깅 및 상태 추적오늘은 Unity 프로젝트에서 PlayerStat 클래스의 health 값을 추적하는 방법에 대해 고민하고, 이를 효과적으로 디버깅하고 추적하는 방안을 구현했습니다.문제 상황health 값 초기화 및 변경 이슈health 값이 게임의 첫 프레임에서 잘못된 값으로 초기화되거나, 의도하지 않은 방식으로 변경되는 현상이 있었습니다. 이를 디버깅하기 위해 값의 변경 이력을 추적하고, 변경된 시점과 값을 확인할 수 있는 방법이 필요했습니다.기존 Debug.Log의 한계값이 변경될 때마다 로그를 출력하는 방식은 단순히 현재 상태를 확인할 수 있지만, 변경 이력을 누적해서 확인하거나, 어떤 로직에서 값이 변경되었는지 명확히 추적하기 .. 더보기
TIL(Today I Learned) - 80 오늘의 TIL (Today I Learned):1. 스킬 효과와 데이터 갱신 문제스킬의 효과가 강화되었을 때, SkillEffect 객체가 원본 데이터를 그대로 참조하고 있다는 문제를 발견했습니다.TriggerEffect 메서드에서 최신화된 데이터를 반영하지 못하는 현상이 발생했습니다. 이를 해결하려면, 스킬의 상태를 최신화된 값으로 반영하는 로직이 필요하다는 것을 깨달았습니다.2. 스킬 데이터 갱신 및 객체 상태 관리강화된 SkillEffect 데이터를 반영하려면, BaseSkill 클래스 내에서 SkillEffect 객체를 갱신하는 방식을 수정해야 했습니다.이를 위해 SkillEffect의 속성 값들이 정확히 업데이트되도록 하고, 강화된 값이 TriggerEffect와 GetSkillEffect 메서.. 더보기
TIL(Today I Learned) - 66 오늘은 Unity에서 **SkillEffectManager**와 BaseSkill 클래스 간의 상호작용을 분석하고, 오브젝트 이름이 한글로 표시되는 문제를 디버깅했습니다. 주요 학습 내용은 다음과 같습니다:Prefab 이름과 생성된 오브젝트 이름:Unity에서 Instantiate로 생성된 오브젝트의 기본 이름은 프리팹 이름을 따릅니다.SkillDataSO의 effectPrefab 이름은 영어로 설정되어 있었으나, 다른 로직에서 이름이 한글로 변경될 가능성이 높았습니다.BaseSkill 클래스와 SkillEffect의 역할:BaseSkill의 GetSkillEffect는 SkillDataSO 데이터를 기반으로 SkillEffect 구조체를 생성하며, 이 구조체는 SkillEffectManager.Trig.. 더보기