본문 바로가기

TIL(Today I Learned)/오늘 무엇을 배웠을까

TIL(Today I Learned) - 51

오늘의 TIL (Today I Learned)

  1. EquipManager 구조 및 기능:
    • EquipManager는 현재 장착된 무기, 악세사리, 스킬을 각각 프로퍼티(EquippedWeapon, EquippedAccessory, EquippedSkill)로 관리.
    • 장착 및 해제는 EquipWeapon, EquipAccessory, EquipSkill 메서드를 통해 수행.
    • 장착 시 기존 장착 상태를 제거하고 새로운 상태로 갱신하며, 필요한 경우 효과(ApplyEffect 및 RemoveEffect)도 동적으로 반영.
    • EquipManager는 플레이어의 현재 장착 상태를 항상 정확히 파악하는 중심 매니저.
  2. PlayerInventory 이벤트 활용:
    • PlayerInventory에 정의된 OnSkillsChanged, OnWeaponsChanged, OnAccessoriesChanged 이벤트는 인벤토리 변경 시 자동 갱신을 트리거.
    • 이벤트를 통해 SkillHandler와 같은 다른 시스템에서 동적으로 참조 가능.
    • 중복 구현을 줄이고 실시간 데이터를 동기화하는 데 효과적.
  3. PlayerSkillHandler와 EquipManager 연동:
    • PlayerSkillHandler는 EquipManager의 EquippedSkill 프로퍼티를 참조해 장착된 스킬을 동적으로 관리.
    • EquipSkill 호출 시 이벤트를 통해 자동으로 갱신 가능.
    • UpdateEquippedSkills를 사용해 초기화 및 실시간 업데이트가 가능하도록 구현.
  4. SkillEffectManager로 이펙트 처리:
    • 스킬 이펙트는 EffectType(OnPlayer, Projectile, OnMapCenter)에 따라 다르게 동작.
    • 예제:
      • OnPlayer: 플레이어 주변 이펙트 생성.
      • Projectile: 투사체 생성 및 이동.
      • OnMapCenter: 맵 특정 위치에서 이펙트 및 범위 데미지 적용.
    • 초기 테스트에서는 단순한 스프라이트로 확인, 이후 파티클 시스템으로 확장.
  5. 주석 처리된 로직 및 협업 고려:
    • PlayerStat과 같은 외부 팀원 작업 중인 시스템과 연계되는 로직은 주석 처리.
    • 주석 처리된 상태에서도 완성된 로직 구조를 유지해 나중에 바로 통합 가능하도록 준비.
  6. 무기와 악세사리의 관리:
    • 무기와 악세사리 역시 EquipManager에서 EquippedWeapon, EquippedAccessory로 관리.
    • 무기와 악세사리 효과를 적용하거나 제거하는 메서드(ApplyWeaponEffect, RemoveWeaponEffect, 등)를 통해 동작.
    • 추가적인 UI 연동 없이 EquipManager에서 현재 상태를 항상 정확히 반영.
  7. PlayerSkillHandler에서 실시간 참조:
    • PlayerSkillHandler는 EquipManager의 장착 상태를 기준으로 스킬을 동적으로 관리.
    • 스킬 발동 시 EquipManager의 정보를 기반으로 실행, 업데이트를 보장.
    • RegisterHit와 같은 스킬 조건 로직이 필요에 따라 자동 실행.

결론

  • EquipManager는 플레이어 장비와 스킬의 중심 허브로, 동적 참조와 데이터 갱신을 효과적으로 관리.
  • SkillEffectManager와 연계해 다양한 스킬 이펙트를 처리.
  • 이벤트 기반 시스템(PlayerInventory, EquipManager)을 활용해 실시간 데이터 동기화 및 처리 간소화.
  • 협업과 확장성을 고려해 주석 처리된 상태에서도 전체 로직이 유지되도록 설계.

앞으로의 과제

  • UI 연동 및 상점 시스템 구현.
  • PlayerStat과의 통합 테스트 진행.
  • 스킬, 무기, 악세사리의 효과 시각화를 위한 파티클 시스템 도입.

'TIL(Today I Learned) > 오늘 무엇을 배웠을까' 카테고리의 다른 글

TIL(Today I Learned) - 53  (0) 2024.12.04
TIL(Today I Learned) - 52  (1) 2024.12.03
TIL(Today I Learned) - 50  (0) 2024.11.29
TIL(Today I Learned) - 49  (0) 2024.11.28
TIL(Today I Learned) - 48  (0) 2024.11.27