Project_WL/Assets/Script/Table/table_memorypetbattle.cs

56 lines
1.8 KiB
C#
Raw Permalink Normal View History

2024-12-15 01:39:39 +00:00
using CodeStage.AntiCheat.ObscuredTypes;
using MiniJSON;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MemoryPetBattleTableData : TableDataBase
{
public int TitleID, Point;
public ObscuredFloat PetAttack, PetHP;
}
public class table_memorypetbattle : MonoBehaviour
{
public static table_memorypetbattle Ins;
public TextAsset m_json;
private List<TableDataBase> list_Data = new List<TableDataBase>();
private void Awake()
{
Ins = this;
Dictionary<string, object> jsonData = Json.Deserialize(m_json.text) as Dictionary<string, object>;
// ["items"]은 items.txt 안의 items를 가리킨다. 툴 우측 하단 파일 종류란에서 설정 가능.
List<object> obj = jsonData[GetType().Name] as List<object>;
foreach (object objt in obj)
{
var temp = new MemoryPetBattleTableData();
Dictionary<string, object> json = objt as Dictionary<string, object>;
temp.ID = int.Parse(json["ID"].ToString());
temp.TitleID = int.Parse(json["TitleID"].ToString());
temp.Point = int.Parse(json["Point"].ToString());
temp.PetAttack = float.Parse(json["PetAttack"].ToString());
temp.PetHP = float.Parse(json["PetHP"].ToString());
list_Data.Add(temp);
}
}
public List<TableDataBase> Get_DataList() { return list_Data; }
public MemoryPetBattleTableData Get_Data(int _point)
{
for (int i = 0; i < list_Data.Count; i++)
{
var temp = list_Data[i] as MemoryPetBattleTableData;
if (temp.Point > _point)
return list_Data[i - 1 >= 0 ? i - 1 : 0] as MemoryPetBattleTableData;
}
return list_Data[list_Data.Count - 1] as MemoryPetBattleTableData;
}
}