51 lines
2.4 KiB
C#
51 lines
2.4 KiB
C#
|
|
using CodeStage.AntiCheat.ObscuredTypes;
|
||
|
|
using Newtonsoft.Json;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
|
||
|
|
public class TreasureBoxConfigTableData : TableDataBase
|
||
|
|
{
|
||
|
|
ObscuredInt _TreasureID; public int n_TreasureID { get { return _TreasureID; } set { _TreasureID = value; _TreasureID.RandomizeCryptoKey(); } }
|
||
|
|
public int n_TreasureGrade;
|
||
|
|
ObscuredInt _AppearRate; public int n_AppearRate { get { return _AppearRate; } set { _AppearRate = value; _AppearRate.RandomizeCryptoKey(); } }
|
||
|
|
public string s_TreasureImg;
|
||
|
|
ObscuredFloat _LockRate; public float f_LockRate { get { return _LockRate; } set { _LockRate = value; _LockRate.RandomizeCryptoKey(); } }
|
||
|
|
ObscuredFloat _TreasureMimicRate; public float f_TreasureMimicRate { get { return _TreasureMimicRate; } set { _TreasureMimicRate = value; _TreasureMimicRate.RandomizeCryptoKey(); } }
|
||
|
|
ObscuredInt _BattleMonsterID; public int n_BattleMonsterID { get { return _BattleMonsterID; } set { _BattleMonsterID = value; _BattleMonsterID.RandomizeCryptoKey(); } }
|
||
|
|
ObscuredInt _TreasureRewardID; public int n_TreasureRewardID { get { return _TreasureRewardID; } set { _TreasureRewardID = value; _TreasureRewardID.RandomizeCryptoKey(); } }
|
||
|
|
ObscuredInt _DestroyRewardID; public int n_DestroyRewardID { get { return _DestroyRewardID; } set { _DestroyRewardID = value; _DestroyRewardID.RandomizeCryptoKey(); } }
|
||
|
|
}
|
||
|
|
|
||
|
|
public class table_TreasureBoxConfig : table_base
|
||
|
|
{
|
||
|
|
public static table_TreasureBoxConfig Ins;
|
||
|
|
|
||
|
|
List<TreasureBoxConfigTableData> tableDatas;
|
||
|
|
|
||
|
|
protected override void Awake()
|
||
|
|
{
|
||
|
|
Ins = this;
|
||
|
|
base.Awake();
|
||
|
|
}
|
||
|
|
|
||
|
|
protected override void Start()
|
||
|
|
{
|
||
|
|
tableDatas = JsonConvert.DeserializeObject<List<TreasureBoxConfigTableData>>(json_last);
|
||
|
|
|
||
|
|
for (int i = 0; i < tableDatas.Count; i++)
|
||
|
|
{
|
||
|
|
tableDatas[i].f_LockRate *= 0.01f;
|
||
|
|
tableDatas[i].f_TreasureMimicRate *= 0.01f;
|
||
|
|
}
|
||
|
|
|
||
|
|
base.Start();
|
||
|
|
}
|
||
|
|
|
||
|
|
public List<TreasureBoxConfigTableData> Get_DataList() { return tableDatas; }
|
||
|
|
public TreasureBoxConfigTableData Get_Data(int id) { return tableDatas.Find(f => f.n_TreasureID == id); }
|
||
|
|
public TreasureBoxConfigTableData Get_RandomData(int grade)
|
||
|
|
{
|
||
|
|
var list = tableDatas.FindAll(x => x.n_TreasureGrade == grade);
|
||
|
|
return DSUtil.WeightedPick(list, x => x.n_AppearRate);
|
||
|
|
}
|
||
|
|
public TreasureBoxConfigTableData Get_RandomData() { return DSUtil.WeightedPick(tableDatas, x => x.n_AppearRate); }
|
||
|
|
}
|