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);
        }
    }
}
相关推荐
mxwin2 小时前
Unity URP 下的 GPU Instancing减少 DrawCall 的关键技术
unity·游戏引擎·shader
小贺儿开发2 小时前
Unity3D LED点阵屏幕模拟
http·unity·浏览器·网络通信·led·互动·点阵屏
RReality4 小时前
【Unity Shader】 溶解效果实战教程
unity·游戏引擎
mxwin4 小时前
Unity URP SRP Batcher 完全指南 URP/HDRP 下的核心批处理机制,大幅降低 CPU 开销
unity·游戏引擎·shader·单一职责原则
小清兔4 小时前
unity中的音频相关_笔记
笔记·unity·音视频
RPGMZ4 小时前
RPGMZ游戏引擎 宠物战斗游戏基础功能实现
javascript·游戏·游戏引擎·宠物·rpgmz·rpgmakermz·宠物战斗系统
The森17 小时前
cocos2d-x棋牌项目-模块2:GameView、Node 与 zOrder
游戏引擎·cocos2d
mxwin19 小时前
Unity Shader 渲染队列 (Render Queue):控制 Geometry、Transparent、Overlay 等队列确保半透明物体渲染正确
unity·游戏引擎
mxwin20 小时前
Unity Shader Alpha Test 与 Alpha Blend:透明度测试与混合的实现及排序问题
unity·游戏引擎