在游戏开发中,数值是必不可少的,数值一般由策划设计导出,然后开发再将数值应用于游戏代码中。但是策划的需求是经常会变的,这就导致数值会频道的修正,如果没次都去更新代码来导入这会给开发带来很多不必要的麻烦,所以设计一套配表系统和自动读取导入的小工具就显得很有必要。
下面这套小工具是基于公司的一套lua手游服务端开发的配表工具。配表采用csv文件来实现,csv可以用excel打开,方便策划们直观的配置游戏数据。同时csv文件是逗号分隔文件,程序方面也很容易进行解析。先贴上一段lua解析csv文件的代码(暂时没有实现读取子文件夹内文件的功能,可以自行添加)
for file in lfs.dir(csv_file_path) do
if file ~= "." and file ~= ".." then
local real_file = csv_file_path .."/".. file
--获取标题和内容
local parsed_csv_titles,parsed_csv_table = parse_csv:load_csv_file(real_file)
end
end
local M = {}
local log = require("log"):new("parse_csv")
function split(str, reps)
local resultStrsList = {};
string.gsub(str, '[^' .. reps ..']+', function(w) table.insert(resultStrsList, w) end );
return resultStrsList;
end<