using CodeStage.AntiCheat.ObscuredTypes; using Newtonsoft.Json; using System.Collections.Generic; public class EquipmentUpgradeTableData : TableDataBase { ObscuredInt _EquipGrade; public int n_EquipGrade { get { return _EquipGrade; } set { _EquipGrade = value; _EquipGrade.RandomizeCryptoKey(); } } ObscuredInt _MaxLv; public int n_MaxLv { get { return _MaxLv; } set { _MaxLv = value; _MaxLv.RandomizeCryptoKey(); } } ObscuredInt _UpgradeGoodsID; public int n_UpgradeGoodsID { get { return _UpgradeGoodsID; } set { _UpgradeGoodsID = value; _UpgradeGoodsID.RandomizeCryptoKey(); } } ObscuredInt _UpgradeDefaultPrice; public int n_UpgradeDefaultPrice { get { return _UpgradeDefaultPrice; } set { _UpgradeDefaultPrice = value; _UpgradeDefaultPrice.RandomizeCryptoKey(); } } ObscuredInt _UpgradeIncreasePrice; public int n_UpgradeIncreasePrice { get { return _UpgradeIncreasePrice; } set { _UpgradeIncreasePrice = value; _UpgradeIncreasePrice.RandomizeCryptoKey(); } } ObscuredInt _UpgradeMainStat_Mul; public int n_UpgradeMainStat_Mul { get { return _UpgradeMainStat_Mul; } set { _UpgradeMainStat_Mul = value; _UpgradeMainStat_Mul.RandomizeCryptoKey(); } } ObscuredInt _UpgradeSubStat_Mul; public int n_UpgradeSubStat_Mul { get { return _UpgradeSubStat_Mul; } set { _UpgradeSubStat_Mul = value; _UpgradeSubStat_Mul.RandomizeCryptoKey(); } } public int Get_UpgradePrice(int lv) { return n_UpgradeDefaultPrice + (n_UpgradeIncreasePrice * lv); } public int Get_UpgradeAffordablePrice(int lv, int maxlv, out ObscuredInt uplv) { int curMoney = MyValue.sdata.Get_ItemAmount(n_UpgradeGoodsID); int total = 0; uplv = 0; for (int i = lv; i < maxlv; i++) { int price = Get_UpgradePrice(i); if (total + price > curMoney) break; ++uplv; uplv.RandomizeCryptoKey(); total += price; } return total; } } public class table_EquipmentUpgrade : table_base { public static table_EquipmentUpgrade Ins; List tableDatas; Dictionary dic_Data = new Dictionary(); protected override void Awake() { Ins = this; base.Awake(); } protected override void Start() { tableDatas = JsonConvert.DeserializeObject>(json_last); for (int i = 0; i < tableDatas.Count; i++) { var temp = tableDatas[i]; dic_Data.Add(temp.n_EquipGrade, temp); } base.Start(); } public List Get_DataList() { return tableDatas; } public EquipmentUpgradeTableData Get_Data(int grade) { return dic_Data[grade]; } }