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

@@ -5,6 +5,7 @@ using Unity.Netcode;
using UnityEngine;
using Colosseum.Enemy;
using Colosseum.Passives;
using Colosseum.Skills;
namespace Colosseum.Combat
@@ -18,6 +19,7 @@ namespace Colosseum.Combat
private sealed class ActorMetrics
{
public string label;
public string passivePresetName;
public float totalDamageDealt;
public float bossDamageDealt;
public float damageTaken;
@@ -193,6 +195,12 @@ namespace Colosseum.Combat
builder.AppendLine();
builder.Append("- ");
builder.Append(metrics.label);
if (!string.IsNullOrWhiteSpace(metrics.passivePresetName))
{
builder.Append(" [Passive=");
builder.Append(metrics.passivePresetName);
builder.Append(']');
}
builder.Append(" | BossDmg=");
builder.Append(metrics.bossDamageDealt.ToString("0.##"));
builder.Append(" | TotalDmg=");
@@ -244,6 +252,8 @@ namespace Colosseum.Combat
actorMetrics.Add(actorLabel, metrics);
}
metrics.passivePresetName = PassiveRuntimeModifierUtility.GetCurrentPresetName(actor);
return metrics;
}