using CodeStage.AntiCheat.ObscuredTypes; using Newtonsoft.Json; using System; using System.Collections.Generic; [Serializable] public class OptionConfigTableData : TableDataBase { ObscuredInt _OptionID; public int n_OptionID { get { return _OptionID; } set { _OptionID = value; _OptionID.RandomizeCryptoKey(); } } // 옵션 고유 ID public eStat e_OptionType { get; set; } // 능력치를 설정할 옵션의 타입 (enum 값) ObscuredInt _DefaultValue; public int n_DefaultValue { get { return _DefaultValue; } set { _DefaultValue = value; _DefaultValue.RandomizeCryptoKey(); } } // 1레벨의 기본 값 ObscuredFloat _LevelPerValue; public float f_LevelPerValue { get { return _LevelPerValue; } set { _LevelPerValue = value; _LevelPerValue.RandomizeCryptoKey(); } } // 레벨당 증가량 ObscuredFloat _BalanceConstant; public float f_BalanceConstant { get { return _BalanceConstant; } set { _BalanceConstant = value; _BalanceConstant.RandomizeCryptoKey(); } } // 밸런스 상수 K값 ObscuredFloat _ExtraValue1; public float f_ExtraValue1 { get { return _ExtraValue1; } set { _ExtraValue1 = value; _ExtraValue1.RandomizeCryptoKey(); } } // 옵션 고유 설정 값1 ObscuredFloat _ExtraValue2; public float f_ExtraValue2 { get { return _ExtraValue2; } set { _ExtraValue2 = value; _ExtraValue2.RandomizeCryptoKey(); } } // 옵션 고유 설정 값2 ObscuredFloat _ExtraValue3; public float f_ExtraValue3 { get { return _ExtraValue3; } set { _ExtraValue3 = value; _ExtraValue3.RandomizeCryptoKey(); } } // 옵션 고유 설정 값3 ObscuredFloat _ExtraValue4; public float f_ExtraValue4 { get { return _ExtraValue4; } set { _ExtraValue4 = value; _ExtraValue4.RandomizeCryptoKey(); } } // 옵션 고유 설정 값4 public float Get_Value(int lv, bool abandon = false) { return Get_Value(lv, f_BalanceConstant, n_DefaultValue, f_LevelPerValue, abandon); } } public class table_optionconfig : table_missionbase { public static table_optionconfig Ins; List tableDatas; Dictionary dic_Data = new Dictionary(); 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]; dic_Data.Add(temp.n_OptionID, temp); } base.Start(); } public OptionConfigTableData Get_Data(int optionid) { return dic_Data.ContainsKey(optionid) ? dic_Data[optionid] : null; } public List Get_DataList() { return tableDatas; } }