feat: 젬 분류 사양과 장착 UI 반영

- 옵시디언 기준의 역할/발동 타입 분류를 스킬·젬 데이터와 장착 검증 로직에 반영
- 젬 보관 UI와 퀵슬롯 표시를 새 분류 및 실제 마나/쿨타임 계산 기준으로 갱신
- 테스트 스킬/젬 자산을 에디터 메뉴로 동기화하고 Unity 컴파일 및 플레이 검증 완료
This commit is contained in:
2026-03-26 16:18:45 +09:00
parent 1261d4dc3c
commit a94daf7968
27 changed files with 1738 additions and 59 deletions

View File

@@ -425,7 +425,11 @@ namespace Colosseum.Skills
if (!gem.CanAttachToSkill(baseSkill))
{
reason = $"기반 스킬 분류 제약을 만족하지 않습니다. Skill={baseSkill.BaseTypes}, Allowed={gem.AllowedSkillTypes}";
string skillClassification = SkillClassificationUtility.GetSkillClassificationLabel(baseSkill);
string allowedClassification =
$"{SkillClassificationUtility.GetAllowedRoleSummary(gem.AllowedSkillRoles)}/" +
$"{SkillClassificationUtility.GetAllowedActivationSummary(gem.AllowedSkillActivationTypes)}";
reason = $"장착 가능한 스킬 조합이 아닙니다. Skill={skillClassification}, Allowed={allowedClassification}";
return false;
}
@@ -476,7 +480,9 @@ namespace Colosseum.Skills
if (gem.IsCategoryIncompatible(otherGem.Category) || otherGem.IsCategoryIncompatible(gem.Category))
{
reason = $"{gem.Category} / {otherGem.Category} 분류 조합은 허용되지 않습니다.";
reason =
$"{SkillClassificationUtility.GetGemCategoryLabel(gem.Category)} / " +
$"{SkillClassificationUtility.GetGemCategoryLabel(otherGem.Category)} 효과 분류 조합은 허용되지 않습니다.";
return false;
}