Tengine框架之配置表的Luban转换与加载

news2024/11/16 13:53:21

对于一个游戏来说,配置表是必不可少的,而且文件数量还比较多,像活动、任务成就、图鉴、地图、皮肤、本地化语言、技能等等之类。配置表一般使用Excel格式,便于策划来配置。但游戏中一般使用txt/json/xml/二进制格式文件,因此需要有便捷高效的转换工具来实现。它能对数据类型做校验、支持自定义数据类型,可以同时或单独生成目标格式数据文件和解析脚本到目标目录下。TEngine框架集成了当前流行的配置表转换工具Luban。Luban文档教程链接:介绍 | Luban

示例Demo Git工程地址:luban_examples: luban example projects   需要快速上手或详细了解的小伙伴可以去看看。这里主要介绍在基于TEngine框架开发的游戏项目中,如何使用被集成的Luban工具。

首先,需要安装dotnet sdk 8.0插件,可以从luban官网下载。小伙伴可以下载luban示例项目熟悉了解下。

打开TEngine游戏项目文件目录,检查Tools是否为空,如果为空或者缺失,则将luban示例项目Tools文件复制1份替换自己的游戏项目下对应Tools

另外,需要在自己的项目还要导入 Luban.RunTime的库代码

 

 

 截至目前为止,配置表转换工具的环境和程序部署以及转换后的解析脚本依赖的库代码导入完成,接下来就是“自定义”游戏项目的配置表文件啦。包括配置表解析、加载的模板,以及bat命令的相关配置等。

 

 

 

 

 具体配置表格式如下

按以上规范定义好自己游戏项目需要使用的配置表好后,接着需要配置导表的bat命令工具

 

 

 点击对应的bat命令可以将配置表转换生成二进制文件和相关解析、加载脚本到项目对应配置的文件目录下。

可看到

 

 

 TEngine框架有扩展Luabn转表的命令菜单,点击Luban转表菜单,直接可以启动对应的bat命令工具执行导表操作。

如此一来,游戏项目的配置表就被很好地转换、加载和管理起来。这就是Luban工具的魅力所在。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2090795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

碎碎念之Android中CPU架构arm-v8a、arm-v7a、x86

0 碎碎念 之前写博客都是为了复习基础知识,不过好像也忘得很快hh。 以后估计会写点感兴趣的自己碎碎念,缓解下emo的心情。(不像之前的博客,这些博客不准备复现也不贴代码所以不一定对, 仅供个人参考 ) 现在…

Python酷库之旅-第三方库Pandas(111)

目录 一、用法精讲 486、pandas.DataFrame.count方法 486-1、语法 486-2、参数 486-3、功能 486-4、返回值 486-5、说明 486-6、用法 486-6-1、数据准备 486-6-2、代码示例 486-6-3、结果输出 487、pandas.DataFrame.cov方法 487-1、语法 487-2、参数 487-3、功…

鸿蒙项目签名配置

配置需要以下四个文件: 1. p12文件 2. csr文件 3. cer文件 打开AGC平台 点击申请调试证书 4. p7b文件 最后在项目中进行配置 配置项目的module.json5中

selenium使用指南

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 概述 selenium是网页应用中最流行的自动化测试工具,可以用来做自动化测试或者浏览器爬虫等。官网地址为:相对于另外一款web自动化测试工…

Linux安装Hadoop(单机版)详细教程

目录 一、JDK安装 1、下载JDK安装包 2、解压下载的JDK安装包 3、移动并重命名JDK包 4、配置Java环境变量 5、验证安装是否成功 二、Hadoop安装 1、下载Hadoop安装包 2、解压Hadoop安装包 3、配置Hadoop环境变量 4、修改配置文件 5、验证Hadoop是否安装成功 三&…

C# 开发环境搭建(Avalonia UI、Blazor Web UI、Web API 应用示例)

文章目录 C# 文档.NET SDK 下载安装 .NET SDK安装完验证VS Code 配置C# 开发插件settings.json WPF UI 框架Avalonia UI 框架创建 Avalonia 项目Avalonia 官方示例Avalonia 桌面 UI 库 Blazor Web UI 框架创建应用项目结构 ASP.NET Core 控制器创建 Web APIdotnet 命令dotnet n…

探索Unity与C#的无限潜能:从新手到高手的编程之旅

在数字创意与技术创新交织的今天,Unity游戏引擎凭借其强大的跨平台能力和灵活的编程接口,成为了无数开发者心中的首选。而C#,作为Unity的官方脚本语言,更是以其面向对象的特性和丰富的库支持,为游戏开发注入了无限可能…

克隆技术在代码溯源和复用及变更分析中的应用

摘要: 克隆技术已在软件代码溯源分析领域得到广泛应用,而轩宇软件成分分析系统基于溯源分析和同源分析技术,通过先进的特征向量提取、相似性匹配、高效检索引擎等多项技术,帮助企业高效识别代码来源、评估自主可控率,…

【数据结构】关于哈希表内部原理,你到底了解多少???(超详解)

前言: 🌟🌟本期讲解关于哈希表的内部实现原理,希望能帮到屏幕前的你。 🌈上期博客在这里:http://t.csdnimg.cn/7D225 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 目录 &a…

安嘉空间:智慧科技守护空间健康

在当今社会,随着人们对生活质量要求的不断提升,室内环境的健康与安全问题日益受到重视。安嘉空间,作为一家致力于人居健康空间技术研发的高科技企业,以其独创的技术和卓越的产品,为广大用户提供了一套全面的空间健康解…

进销存自动统计单据表格——未来之窗行业应用跨平台架构

一、代码 function 未来之窗_人工智能_计算单据(objbyclass,obj目标显示,obj目标值){console.log("未来之窗_人工智能_计算单据"objbyclass);var 计算结果0;$("."objbyclass).each(function(){var 输入框值 $(this).val();console.log("输入框值"…

去中心化(Decentralization)

去中心化(Decentralization) 并不是一个新概念,它已在战略、管理和政府中使用了很长时间。去中心化的基本思想是将控制权和权限分配给组织的外围,而不是由一个中心机构完全控制组织。这种配置为组织带来了许多好处,例如提高了效率…

欧洲用户对中国应用程序的感知:一个复杂的挂毯

在数字时代,中国应用程序迅速在全球范围内占有一席之地,吸引了全球用户的注意力和好奇心。在欧洲,这些应用程序引发了人们的兴趣、阴谋和担忧,不同国家和人口统计数据的看法差异很大。 对中国应用程序感兴趣的主要驱动力之一是它…

git命令使用详情

目录 一. 安装教程 二. git配置 1. 查看git配置参数 2. 设置邮箱和用户名 3. SSH配置 4. 配置git远程库公钥 5. 编码设置 三. git 提交流程 1. 整体操作流程图 2. Git仓库包含5个区域 3. 下载、提交、更新命令 3.1. 下载 3.2. 提交 3.3. 更新(两种方式…

无人机 PX4 飞控 | ROS应用层开发:基础代码框架构建

无人机 PX4 飞控 | ROS应用层开发:基础代码框架构建 基础代码框架构建文件建立代码基本构建测试 基础代码框架构建 本篇博客拟在构建一个 无人机 PX4 飞控 ROS应用层开发 的 基础代码框架。 其中包含了基础类文件、类头文件、main主函数文件,及其编译所…

数据结构-c/c++实现栈(详解,栈容量可以动态增长)

一.栈的基本介绍 栈是一种只能够在一端进行插入和删除的顺序表。如下图 空栈:表示不含任何元素的栈 栈顶:表示允许进行插入和删除元素的一端 栈底:表示不允许进行插入和删除元素的一端 即栈是一种后进先出的线性表数据结构 二.栈的常见操…

Redis高级---面试总结之内存过期策略及其淘汰策略

目前已更新系列: 当前:Redis高级---面试总结之内存过期策略及其淘汰策略 并发编程之----线程池ThreadPoolExecutor,Excutors的使用及其工作原理 Redis高级----主从、哨兵、分片、脑裂原理-CSDN博客 计算机网络--面试知识总结一 计算机网络-----面试知…

【深度学习】yolov8的微调

yolov8的集成度太高了,除了config的哪些参数以外,需要更精细的微调。 比如这里: https://github.com/ultralytics/ultralytics/blob/main/ultralytics/utils/tuner.py 应用场景,交通标志的向左转,向右转之类的&#x…

Golang | Leetcode Golang题解之第384题打乱数组

题目: 题解: type Solution struct {nums, original []int }func Constructor(nums []int) Solution {return Solution{nums, append([]int(nil), nums...)} }func (s *Solution) Reset() []int {copy(s.nums, s.original)return s.nums }func (s *Solu…

STM32G474之HAL_Delay()会导致死机的原因

使用HAL库需要HAL_Delay()函数支持,离开这个函数,和这个函数有关的函数就无法调用了。遇到这个问题,我们肯定会否定HAL库,也确实它是有点差,但也有好的一面。 为什么HAL库初始化了SysTick定时器,也使能了相…