feat: 패시브 트리 프로토타입 구현

- 패시브 트리/노드/프리셋 데이터와 카탈로그 참조 구조를 추가하고 Resources 의존을 Data/Passives 자산 구조로 정리
- 플레이어 런타임, 전투 계수, 프리셋 적용, 멀티플레이 동기화 경로에 패시브 적용 로직 연결
- 프리팹 기반 패시브 트리 UI와 노드 아이콘/프리셋/상세 패널 흐름을 추가하고 HUD에 연동
- 패시브 디버그/부트스트랩 메뉴와 UI 프리팹 재생성 경로를 추가
This commit is contained in:
2026-03-26 22:59:39 +09:00
parent 13d1949ded
commit 8d1e97d01a
89 changed files with 10848 additions and 68 deletions

View File

@@ -26,6 +26,10 @@ namespace Colosseum.UI
[Tooltip("이상상태 요약 텍스트를 자동 생성할지 여부")]
[SerializeField] private bool autoCreateAbnormalitySummary = true;
[Header("Passive UI")]
[Tooltip("런타임 패시브 UI 컴포넌트를 자동으로 보정할지 여부")]
[SerializeField] private bool autoCreatePassiveTreeUi = true;
[Header("Target")]
[Tooltip("자동으로 로컬 플레이어 찾기")]
[SerializeField] private bool autoFindPlayer = true;
@@ -41,6 +45,11 @@ namespace Colosseum.UI
/// </summary>
public string CurrentAbnormalitySummary => abnormalitySummaryText != null ? abnormalitySummaryText.text : string.Empty;
private void Awake()
{
EnsurePassiveTreeUi();
}
private void Start()
{
if (autoFindPlayer)
@@ -235,6 +244,14 @@ namespace Colosseum.UI
abnormalitySummaryText = summaryText;
}
private void EnsurePassiveTreeUi()
{
if (!autoCreatePassiveTreeUi || GetComponent<PassiveTreeUI>() != null)
return;
gameObject.AddComponent<PassiveTreeUI>();
}
private void UpdateAbnormalitySummary()
{
if (abnormalitySummaryText == null)