58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
namespace TKS.OutGame
|
|
{
|
|
/// <summary>
|
|
/// 스킬 표시 정보(skills.csv 이름·desc·쿨 + skill_levels.csv) — A 단계는 영웅 화면 표시만. 효과 처리기·effect_key·p1~p3 는 B 단계(스킬 세션)가 같은 CSV 로 만든다.
|
|
/// </summary>
|
|
public class SkillInfoDb : ScriptableObject
|
|
{
|
|
[Serializable]
|
|
public class Skill
|
|
{
|
|
public string id;
|
|
public string heroId;
|
|
[Tooltip("active|passive")]
|
|
public string kind;
|
|
public string nameKo;
|
|
public string hanja;
|
|
public string trigger;
|
|
public int cooldown;
|
|
public int lvMax;
|
|
[Tooltip("desc_ko (끝 [ ] 메모 포함 원문)")]
|
|
public string descKo;
|
|
}
|
|
|
|
[Serializable]
|
|
public class LevelCost
|
|
{
|
|
public int lv;
|
|
public int books;
|
|
public int gold;
|
|
}
|
|
|
|
public List<Skill> skills = new List<Skill>();
|
|
public List<LevelCost> levels = new List<LevelCost>();
|
|
|
|
public Skill Get(string id)
|
|
{
|
|
if (string.IsNullOrEmpty(id)) return null;
|
|
foreach (var s in skills)
|
|
if (s.id == id) return s;
|
|
return null;
|
|
}
|
|
|
|
/// <summary>표시용 설명 — 끝의 [p1 … ] 개발 메모를 뺀다.</summary>
|
|
public static string DisplayDesc(Skill s)
|
|
{
|
|
if (s == null || string.IsNullOrEmpty(s.descKo)) return "";
|
|
var d = s.descKo;
|
|
int b = d.LastIndexOf('[');
|
|
if (b > 0 && d.TrimEnd().EndsWith("]")) d = d.Substring(0, b);
|
|
return d.Trim();
|
|
}
|
|
}
|
|
}
|