65 lines
2.4 KiB
C#
65 lines
2.4 KiB
C#
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
[Serializable]
|
|
public class BreakingLimitTableData : TableDataBase
|
|
{
|
|
public int n_LimitLv; // 초월(한계 돌파) 달성 레벨
|
|
public int n_RequireTotalStat; // 초월에 필요한 스텟 총 요구량
|
|
public int n_RequireLevel; // 초월에 필요한 레벨 요구량
|
|
public int n_MaxAbilityPoint; // 최대 특성 보유량
|
|
public int n_Equip_Upgrade_Limit; // 장비 강화 최대 레벨
|
|
public float f_Monster_DMG_Multiplier; // 일반 몬스터 피해 증가량
|
|
public float f_Boss_DMG_Multiplier; // 보스 피해량 증가량
|
|
public float f_ALL_STAT_Multiplier; // 모든 스텟 증가량
|
|
public int n_limitSlotMagic; // 최대 마법부여 슬롯 (슬롯 개방 레벨은 n_LimitLv을 참조)
|
|
|
|
public float Get_StatValue(eStat stat)
|
|
{
|
|
switch (stat)
|
|
{
|
|
case eStat.Monster_DMG_Multiplier: return f_Monster_DMG_Multiplier;
|
|
case eStat.BOSS_DMG_Multiplier: return f_Monster_DMG_Multiplier;
|
|
case eStat.ALL_STAT_Multiplier: return f_ALL_STAT_Multiplier;
|
|
}
|
|
return 0f;
|
|
}
|
|
}
|
|
|
|
public class table_breakinglimit : table_missionbase
|
|
{
|
|
public static table_breakinglimit Ins;
|
|
List<BreakingLimitTableData> tableDatas;
|
|
Dictionary<int, BreakingLimitTableData> dic_Data = new Dictionary<int, BreakingLimitTableData>();
|
|
// 슬롯, 레벨
|
|
Dictionary<int, int> dic_SlotOpenData = new Dictionary<int, int>();
|
|
|
|
protected override void Awake()
|
|
{
|
|
base.Awake();
|
|
Ins = this;
|
|
}
|
|
|
|
protected override void Start()
|
|
{
|
|
tableDatas = JsonConvert.DeserializeObject<List<BreakingLimitTableData>>(json_last);
|
|
for (int i = 0; i < Get_DataList().Count; i++)
|
|
{
|
|
var temp = Get_DataList()[i];
|
|
dic_Data.Add(temp.n_LimitLv, temp);
|
|
|
|
if (temp.n_limitSlotMagic > 0)
|
|
{
|
|
if (!dic_SlotOpenData.ContainsKey(temp.n_limitSlotMagic))
|
|
dic_SlotOpenData.Add(temp.n_limitSlotMagic, temp.n_LimitLv);
|
|
}
|
|
}
|
|
|
|
base.Start();
|
|
}
|
|
|
|
public BreakingLimitTableData Get_Data_orNull(int lv) { return dic_Data.ContainsKey(lv) ? dic_Data[lv] : null; }
|
|
public List<BreakingLimitTableData> Get_DataList() { return tableDatas; }
|
|
public int Get_SlotOpenLv(int slot) { return dic_SlotOpenData[slot]; }
|
|
} |