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);
        }
    }
}
相关推荐
丁小未18 分钟前
Unity 几种常见合批手段的要求
游戏·unity·合批·srpbatcher·动态合批·静态合批
旧物有情20 小时前
游戏开发常用架构 #MVP,MVC
游戏·unity·架构·mvc
勇踏前人未索之境1 天前
Unity打包运行于鸿蒙手机
unity·智能手机·harmonyos
玖玥拾1 天前
Unity 3D 笔记(十一)UI 框架进阶:栈弹窗交互、BasePanel 基类虚方法、DoTween 界面动画
笔记·3d·unity
郝学胜-神的一滴1 天前
中级OpenGL教程 023:Assimp模型加载全解——从源码到架构的骈文探秘
c++·unity·游戏引擎·cmake·unreal engine·opengl
xcLeigh2 天前
Unity基础:GameObject与Component——Unity核心架构思想彻底理解
unity·教程·component·gameobject
郝学胜-神的一滴2 天前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl
weixin_424294673 天前
Unity的测试Edit Mode和Play Mode,有什么区别?
unity
Python私教3 天前
我用 AI 做出了第一个 Godot 贪吃蛇
人工智能·游戏引擎·godot