using CodeStage.AntiCheat.ObscuredTypes; using Newtonsoft.Json; using System; using System.Collections.Generic; [Serializable] public class EquipmentSmeltingTableData : TableDataBase { ObscuredInt _SmeltingStep; public int n_SmeltingStep { get { return _SmeltingStep; } set { _SmeltingStep = value; _SmeltingStep.RandomizeCryptoKey(); } } // 제련 단계 ObscuredInt _NextStepRate; public int n_NextStepRate { get { return _NextStepRate; } set { _NextStepRate = value; _NextStepRate.RandomizeCryptoKey(); } } // 다음 단계 제련 확률(※만분율) ObscuredInt _UpgradePrice; public int n_UpgradePrice { get { return _UpgradePrice; } set { _UpgradePrice = value; _UpgradePrice.RandomizeCryptoKey(); } } // 제련에 필요한 동일 아이템 수량 ObscuredInt _IncreaseValueRate; public int n_IncreaseValueRate { get { return _IncreaseValueRate; } set { _IncreaseValueRate = value; _IncreaseValueRate.RandomizeCryptoKey(); } } // 제련에 따른 장비 능력치 증가량(만분율) public ObscuredFloat f_NextStepRate, f_IncreaseValueRate; } public class table_equipsmelting : table_missionbase { public static table_equipsmelting Ins; List tableDatas; protected override void Awake() { base.Awake(); Ins = this; } protected override void Start() { tableDatas = JsonConvert.DeserializeObject>(json_last); for (int i = 0; i < Get_DataList().Count; i++) { var temp = Get_DataList()[i]; temp.f_NextStepRate = temp.n_NextStepRate * 0.0001f; temp.f_IncreaseValueRate = temp.n_IncreaseValueRate * 0.0001f; } base.Start(); } public List Get_DataList() { return tableDatas; } public EquipmentSmeltingTableData Get_Data(int lv) { var lst = Get_DataList(); var data = lst.Find(f => f.n_SmeltingStep == lv); if (DSUtil.CheckNull(data)) return lv >= lst.Count ? lst[lst.Count - 1] : lst[0]; return data; } }