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

74 lines
2.2 KiB
C#

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<EquipmentSmeltingTableData> tableDatas;
protected override void Awake()
{
base.Awake();
Ins = this;
}
protected override void Start()
{
tableDatas = JsonConvert.DeserializeObject<List<EquipmentSmeltingTableData>>(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<EquipmentSmeltingTableData> 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;
}
}