[游戏开发]UGF 配表导出工具

2023-10-30

0. 前言

整理一下,之前做的一个配表导出工具,主要作用就是将 excel 的内容导出为数据和代码,不用每次配表都重新处理.项目的源码还有exe 都上传到了百度云,链接如下

链接:https://pan.baidu.com/s/1xW9Rc_cxr48KgI84gy24Lg
提取码:wsad

1. 效果以及使用

(1)效果使用

运行 Exportor.exe 就可以了,不过需要先配置好路径。可以处理 bool,int,float,double,string,还有对应的数组,数组用"|"隔开。比如配表是

请添加图片描述

那么导出的内容为

请添加图片描述

如果错误,有对应提示

请添加图片描述

(2)配置

配置在 Config.txt 中,依次配置为

  • LoadPath 加载路径
  • SaveDataPath 导出数据保存路径
  • SaveCodePath 导出代码保存路径
  • CodeClassPrefix 导出代码类民名前缀
  • CodeParseFuncName 导出转化函数名
//Config
//LoadPath
..\..\UnityProject_funnyEn\Assets\GameMain\DataTables\Excel
//SaveDataPath
..\..\UnityProject_funnyEn\Assets\GameMain\DataTables
//SaveCodePath
..\..\UnityProject_funnyEn\Assets\GameMain\Scripts\DataTable
//CodeClassPrefix
DR
//CodeParseFuncName
ParseDataRow

模板在 Template.txt 中,如果只是简单的更改,可以直接在 Template 中更改就可以了

  • {className}将会被替换成 类名
  • {property}将会被替换成 属性段
  • {parseFunc}将会被替换成 parse 函数
using GameFramework.DataTable;
using System.Collections.Generic;

namespace GDT
{
    public class {className} : IDataRow
    {

{property}

{parseFunc}

        private void AvoidJIT()
        {
            new Dictionary<int,  {className}>();
        }

    }
}

(3)额外处理

  • 回车符和制表符导出会有问题,所以会替换为"\t","\n"的字符来代替
  • 第一行某一列标记 different,这样这一列将不能有重复的内容,如果有,将会报错无法导出
  • 会忽略"_"开头的 sheet
  • 数据行的内容的,只有有填的第一属性,的那一行的才会被导出,其余将会忽略

2. unity 中使用

可以将代码直接复制到 unity 中去用,但我不推荐,我感觉可以将这个东西作为一个独立的程序来使用,那么后面 unity 因为配表问题
而无法打开的时候,还可以用这个独立的程序来处理。那们可以通过 unity 菜单调用这个程序的方式来调用,就不用每次都去找这个程
序,脚本如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

#if UNITY_EDITOR

using UnityEditor;
using System.Diagnostics;

public class DataTableTool : Editor
{
    [MenuItem("MyTool/Data Export")]

    public static void DataExport()
    {
        string exePath = @"..\Exportor\exe";
        string name = "exportor.exe";
        ProcessStartInfo info = new ProcessStartInfo(name);
        info.WorkingDirectory = exePath;
        Process p = Process.Start(info);
        AssetDatabase.Refresh();
    }
}

#endif

那么在 Unity 中就可以这样使用了

请添加图片描述

3. 拓展方向

基本上也是可以正常使用了,当然还有很多可拓展处理的方向,如果后来要重新处理的话,那么应该有这几个方向可以处理。

  • 配置内容全部可更改,并处理到excel中。方便编辑。
  • 命令行启动参数配置处理。可用命令行来配置参数,以及调用运行,这样调用就更加方便。
  • 增加字典段内容处理。只有数组有些时候也不太够用。
  • 增加导出检查。比如导出检查某某id是否符合要求,数组长度是否符合,但这个也不一定好,可能在实际运行中才好检查,配表导出阶段可能检查比较麻烦。
  • 增加标记段处理内容。different作为不同标记,那可否有length等作为长度标记,或者matchxx作为关联标记,必须在其他配表中存在该内容才行。这样配表工具功能更加丰富。

4. 结束

到这里也就讲完咯,希望能够提供一个参考。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[游戏开发]UGF 配表导出工具 的相关文章

随机推荐