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

96 lines
2.9 KiB
C#

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) { return Get_Value(lv, f_BalanceConstant, n_DefaultValue, f_LevelPerValue); }
}
public class table_optionconfig : table_missionbase
{
public static table_optionconfig Ins;
List<OptionConfigTableData> tableDatas;
Dictionary<int, OptionConfigTableData> dic_Data = new Dictionary<int, OptionConfigTableData>();
protected override void Awake()
{
base.Awake();
Ins = this;
}
protected override void Start()
{
tableDatas = JsonConvert.DeserializeObject<List<OptionConfigTableData>>(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<OptionConfigTableData> Get_DataList() { return tableDatas; }
}