cs/LitJsonExtensions.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LitJson;
using WR_Excel;

namespace ConfigData
{
    internal static class LitJsonExtensions
    {
        public static void Load<T>(Dictionary<int, T> mData, JsonData data, Func<JsonData, T> ctor) where T : class
        {
            foreach (var key in data.Keys)
            {
                var value = data[key];
                var id = (int)data[0];
                mData[id] = ctor(value);
            }
        }

        private static int[] empty_int_arr = new int[0];
        private static int[][] empty_int_arrarr = new int[0][];
        private static string[] empty_str_arr = new string[0];
        private static string[][] empty_str_arrarr = new string[0][];

        private static (int, int, int) empty_vt_int3 = (0, 0, 0);
        private static (int, int, int)[] empty_vt_int3_arr = new (int, int, int)[0];

        private static (int, int) empty_vt_int2 = (0, 0);
        private static (int, int)[] empty_vt_int2_arr = new (int, int)[0];
        private static List<(int, int)[]> empty_int2_arr_list = new List<(int, int)[]>();

        public static int[] Data2IntArr(this JsonData data)
        {
            if (data.IsArray)
            {
                var arr = new int[data.Count];
                for (int i = 0; i < data.Count; i++)
                {
                    arr[i] = (int)data[i];
                }
                return arr;
            }
            Loger.Log("create int[] failure!");
            return empty_int_arr;
        }
        public static int[][] Data2IntArrArr(this JsonData data)
        {
            if (data.IsArray)
            {
                var arrarr = new int[data.Count][];
                for (int i = 0; i < data.Count; i++)
                {
                    var t = data[i];
                    int[] arr = new int[t.Count];
                    for (int j = 0; j < arr.Length; j++)
                    {
                        arr[j] = (int)t[j];
后面还有 137 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。