Unity之Luban使用流程

数据类和数据文件创建

  1. 创建excel表格,填充数据;
  2. 使用Luban工具生成数据类和数据文件;
    Code Target:c cs-newtonsoft-json
    Data Target:d json
    注意 :Code Target: cs-simple-json在Unity2021.3.45f2c1会出现错误
    升级luban工具可以解决这个问题
  3. 数据类放到项目中;数据文件放在指定文件夹中。

运行时使用

数据文件:放置在Assets/StreamingAssets/Luban中

数据:

csharp 复制代码
[
  {
    "id": 1001,
    "name": "道具1",
    "desc": "描述1",
    "count": 10
  },
  {
    "id": 1002,
    "name": "道具2",
    "desc": "描述2",
    "count": 100
  }
]

加载数据,遍历表中数据

item类描述数据,TbItem管理表中所有的item,类似容器

csharp 复制代码
using System;
using System.IO;
using Newtonsoft.Json.Linq;
using UnityEngine;
public class TestLuban : MonoBehaviour
{
    void Awake()
    {
        //加载配置
        //所有配置文件放置在Assets/StreamingAssets/Luban文件夹中,没有子文件夹
        Func<string, JArray> loader = (fileName) =>
        {
            //拼接文件路径
            string path = Path.Combine(
            Application.streamingAssetsPath,
            "Luban",
            fileName + ".json");
            string jsonText = File.ReadAllText(path);
            return JArray.Parse(jsonText);
        };

        var tables = new cfg.Tables(loader);

        //使用配置
        //每个数据类有一个对应Tb类管理
        //所有表的管理器 获取对应的表管理器 获取表中对应数据类的所有对象
        var items = tables.Tbitem.DataList;
        foreach (var item in items)
        {
            Debug.Log(item);
        }
    }
}
相关推荐
不绝1911 小时前
导航系统/NavMeshAgent组件
unity
mxwin3 小时前
Unity Shader 屏幕空间 UVScreen Space UV 完全指南
unity·游戏引擎·uv
LF男男7 小时前
TouchManager
unity·c#
mxwin8 小时前
Unity Shader 径向模糊与径向 UV 变形速度感 · 冲击波效果完全指南
unity·游戏引擎·shader·uv
weixin_423995008 小时前
unity 微信开发小游戏,网络资源获取数据
unity·游戏引擎
Yasin Chen9 小时前
Unity TMP_SDF 分析(五)片元着色器
unity·游戏引擎·着色器
mxwin10 小时前
Unity Shader Texture Bombing用随机旋转与偏移的多次采样,打破大地形纹理的
unity·游戏引擎
代数狂人10 小时前
《深入浅出Godot 4与C# 3D游戏开发》第二章:编辑器导航
3d·编辑器·游戏引擎·godot
zcc85807976210 小时前
Unity MVVM UniTask + 轻量级 ReactiveProperty
unity
zcc85807976211 小时前
Unity 自动生成UI绑定+MVVM 架构模板
unity