Project_WL/Assets/Script/Table/Equipment/table_equipslotupgrade.cs

57 lines
2.5 KiB
C#

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
[Serializable]
public class EquipmentSlotUpgradeTableData : TableDataBase
{
public eItem e_EquipParts; // 장비 파츠 타입
public eAttackType e_EquipAttribute; // 장비 파츠 속성
public int n_EquipSlotName; // 장비 파츠 및 속성에 따른 텍스트 정보
public eStat e_OptionType; // 부여할 주 스텟 능력치 타입
public int n_DefaultValue; // 1레벨의 능력치 기본 값
public float f_LevelPerValue; // 레벨당 능력치 증가량
public float f_BalanceConstant; // 밸런스 상수 K값
public int n_ConsumeGoodsID; // 강화에 사용될 재화 ID
public int n_DefaultValuePrice; // 1레벨의 기본 재화 소모량
public float f_LevelPerValuePrice; // 레벨당 재화 소모 증가량
public float f_BalanceConstantPrice; // 재화 소모 밸런스 상수 K값
public float Get_MainStatValue(int lv) { return Get_Value(lv, n_DefaultValue, f_LevelPerValue, f_BalanceConstant); }
public float Get_Price(int lv) { return Get_Value(lv, f_BalanceConstantPrice, f_LevelPerValue, f_LevelPerValuePrice); }
}
public class table_equipslotupgrade : table_missionbase
{
public static table_equipslotupgrade Ins;
List<EquipmentSlotUpgradeTableData> tableDatas;
Dictionary<eItem, List<EquipmentSlotUpgradeTableData>> dic_itemlist = new Dictionary<eItem, List<EquipmentSlotUpgradeTableData>>();
protected override void Awake()
{
base.Awake();
Ins = this;
}
protected override void Start()
{
tableDatas = JsonConvert.DeserializeObject<List<EquipmentSlotUpgradeTableData>>(json_last);
for (int i = 0; i < tableDatas.Count; i++)
{
var itemtype = tableDatas[i].e_EquipParts;
if (!dic_itemlist.ContainsKey(itemtype))
dic_itemlist.Add(itemtype, new List<EquipmentSlotUpgradeTableData>());
dic_itemlist[itemtype].Add(tableDatas[i]);
}
base.Start();
}
public List<EquipmentSlotUpgradeTableData> Get_DataList() { return tableDatas; }
public List<EquipmentSlotUpgradeTableData> Get_DataList(eItem item) { return dic_itemlist[item]; }
public EquipmentSlotUpgradeTableData Get_Data(eItem item, eAttackType attribute)
{
return Get_DataList(item).Find(f => f.e_EquipAttribute == attribute);
}
}