[25.07.08] TIL( 팀프로젝트 - 코드 리팩토링 진행)
✅ PlayerController 리팩토링
Update() 내 테스트 입력 처리 분리 → HandleTestInputs() 메서드로 이동
OnSkillS/D/F() → 공통 메서드 HandleWeaponSkill(SkillSlot, InputValue)로 통일
equippedWeapon 캐싱 사용하여 접근 최소화
Awake() 내부 초기화 함수 역할별 분리 (InitializeReferences, InitializeMovement, InitializeJumpFeedback)
- 전체적인 가독성 향상, 입력 처리 및 확장성 강화
✅ PlayerWeaponHandler 리팩토링
SwapWeapon() 내부 책임을 다음 함수로 분리:
HandleFusionBreak()
UpdateElementInfo()
EquipNewWeapon()
isDestory 오타 → isDestroy로 수정
?. 제거 (null 체크가 이미 선행됨)
OnTriggerExit2D에서 ReferenceEquals 및 null 체크 추가로 안정성 향상
✅ PlayerMovement 개선
localScale는 실제 변경 필요할 때만 갱신 (Mathf.Approximately 활용)
- 이동 처리와 방향 반영 책임 분리:
ApplyMovement()
ApplyFacingToScale()
- 가독성과 성능 모두 개선
✅ PlayerJump 개선
TryJump() → 조건 분기 명확화 (PerformJump() 함수로 분리)
CheckGround() → 플랫폼 검사 간소화 (isEffector 플래그 활용)
ResetInputs()는 MoveInput까지 초기화해 의미 강화
IgnoreCollision() 호출 전 현재 상태 체크하여 불필요한 호출 방지
💾 비고
- 전체적으로 기능 분리, 책임 최소화, 유지보수성 향상을 목표로 구조 개선
.mp 파일은 벨로그 업로드용으로 제작