_xiaofang/xiaofang/Assets/Script/JSONReader/AreaReader.cs
2024-11-30 18:15:51 +08:00

96 lines
3.0 KiB
C#

//using System.Collections.Generic;
//using UnityEngine;
//public class AreaReader : MonoBehaviour
//{
// // 假设你把 JSON 数据存储在 Resources 文件夹下
// public TextAsset jsonFile; // 在 Unity 编辑器中将文件拖拽到这个字段
// void Start()
// {
// // 解析 JSON 数据并输出
// Dictionary<int, LocationData> locationDictionary = ParseJSON(jsonFile.text);
// // 输出字典中的数据
// foreach (var location in locationDictionary)
// {
// Debug.Log("ID: " + location.Key);
// Debug.Log("Note: " + location.Value.Note);
// Debug.Log("Name: " + location.Value.Name);
// Debug.Log("Scene: " + location.Value.Scene);
// Debug.Log("NpcRatio: " + location.Value.NpcRatio);
// Debug.Log("Oversee: " + location.Value.Oversee);
// Debug.Log("RoleLimit: " + location.Value.RoleLimit);
// Debug.Log("Level: " + location.Value.Level);
// // 打印 RoleLimit 字段的数据(如果有)
// if (!string.IsNullOrEmpty(location.Value.RoleLimit))
// {
// Debug.Log("RoleLimit (split by '|'): ");
// string[] roleLimitParts = location.Value.RoleLimit.Split('|');
// foreach (var part in roleLimitParts)
// {
// Debug.Log(part); // 打印每个 RoleLimit 部分
// }
// }
// // 如果 NpcRatio 或 Oversee 是字符串,进行适当的处理
// if (!string.IsNullOrEmpty(location.Value.NpcRatio))
// {
// Debug.Log("NpcRatio: " + location.Value.NpcRatio);
// }
// if (!string.IsNullOrEmpty(location.Value.Oversee))
// {
// Debug.Log("Oversee: " + location.Value.Oversee);
// }
// }
// }
// // 解析 JSON 字符串
// Dictionary<int, LocationData> ParseJSON(string json)
// {
// // 使用 Unity 的 JsonUtility 解析 JSON
// LocationData[] locationArray = JsonHelper.FromJson<LocationData>(json);
// Dictionary<int, LocationData> locationDictionary = new Dictionary<int, LocationData>();
// foreach (var location in locationArray)
// {
// locationDictionary[location.ID] = location;
// }
// return locationDictionary;
// }
//}
//// 帮助类,用于解析 JSON 数组
//public static class JsonHelper
//{
// public static T[] FromJson<T>(string json)
// {
// // 为了使 JsonUtility 解析数组,包裹成一个对象数组
// json = "{\"items\":" + json + "}";
// Wrapper<T> wrapper = JsonUtility.FromJson<Wrapper<T>>(json);
// return wrapper.items;
// }
// [System.Serializable]
// private class Wrapper<T>
// {
// public T[] items;
// }
//}
//[System.Serializable]
//public class LocationData
//{
// public int ID;
// public string Note;
// public int Name;
// public int Scene;
// public string NpcRatio;
// public string Oversee;
// public string RoleLimit;
// public int Level;
//}