游戏配置表的导入使用

本文介绍了如何将游戏策划的Excel配置表转换为JSON格式,以便于C#项目中通过定义类和单例的DataManager加载和使用。过程包括使用json-excel工具,定义ItemDefine类,并展示C#代码读取Json文件的示例。
摘要由CSDN通过智能技术生成

游戏配置表是游戏策划的标配,如下图:
在这里插入图片描述

那么程序怎么把这张配置表导入使用?

1.首先,利用命令行把Excel格式的文件转化成Json格式:

json-excel\json-excel json Tables\ Data\

@copy Data\CharacterDefine.txt ..\Client\Data\
pause

其中把第一行的Tables\改成自己存放Excel文件的文件夹,Data\改成存放Json文件的文件夹即可,第二行是复制Json文件的命令。上面的代码存成.cmd文件双击使用即可
生成的Json文件如下

{
	  "1": {
	    "ID": 1,
	    "Name": "小型治疗药水",
	    "Description": "使用立即回复500生命值(战斗回复)",
	    "Type": "NORMAL",
	    "Category": "药水",
	    "Level": 1,
	    "CanUse": true,
	    "UseCD": 1.0,
	    "Price": 200,
	    "SellPrice": 100,
	    "StackLimit": 99,
	    "Icon": "UI/Items/hongp",
	    "Function": "RecoverHP",
	    "Param": 500
	  },
	  "2": {
	    "ID": 2,
	    "Name": "小型法力药水",
	    "Description": "使用立即回复500法力值(战斗回复)",
	    "Type": "NORMAL",
	    "Category": "药水",
	    "Level": 1,
	    "CanUse": true,
	    "UseCD": 1.0,
	    "Price": 200,
	    "SellPrice": 100,
	    "StackLimit": 99,
	    "Icon": "UI/Items/lanp",
	    "Function": "RecoverMP",
	    "Param": 500
	  },

2.用Define文件定义内容:

  public class ItemDefine
  {
      public int ID { get; set; }
      public string Name { get; set; }
      public string Description { get; set; }
      public ItemType Type { get; set; }
      public string Category { get; set; }
      public int Level { get; set; }
      public CharacterClass LimitClass { get; set; }
      public bool CanUse { get; set; }
      public int Price { get; set; }
      public int SellPrice { get; set; }
      public int StackLimit { get; set; }   // 堆叠限制
      public string Icon { get; set; }
      public ItemFunction Function { get; set; }
      public int Param { get; set; }
      public List<int> Params { get; set; }
  }

3.C#代码读取Json文件:

using System.Collections.Generic;
using System.IO;
using Common;
using Common.Data;
using Newtonsoft.Json;

namespace GameServer.Managers
{
    public class DataManager : Singleton<DataManager>
    {
        internal string DataPath;
        public Dictionary<int, ItemDefine> Items = null;
        public DataManager()
        {
            this.DataPath = "Data/";
            Log.Info("DataManager > DataManager()");
        }

        internal void Load()
        {
            json = File.ReadAllText(this.DataPath + "ItemDefine.txt");
            this.Items = JsonConvert.DeserializeObject<Dictionary<int, ItemDefine>>(json);
        }
    }
}

在DataManager单例初始化后,调用Load函数读取json文件,就能使用配置表了
4.使用案例

DataManager.Instance.Items[ItemID].Name
Cocos引擎提供了一种方便的方式来在游戏使用配置数据,即配置配置通常以JSON格式存储在游戏中,比如存储游戏中的道具信息、关卡参数等。 但是,在实际开发中,JSON格式的配置在维护和编辑上存在一些问题。通常,开发者会使用Excel等工具对配置进行编辑,然后将数据导出为JSON格式。这些工具提供了更方便的编辑和筛选方式,同时也避免了手写JSON时可能出现的错误。 那么,如何将Excel中的数据导出为JSON格式的配置呢?Cocos引擎提供了一个工具,即Excel2Json。使用这个工具,开发者可以方便地将Excel中的数据导出为JSON格式的配置。 Excel2Json工具的使用步骤如下: 1. 下载Excel2Json工具,并解压缩到本地。 2. 准备需要导出的Excel文件,并在其中创建一个Sheet用于存储配置数据。这里以存储道具信息为例。 3. 在Sheet中填写配置数据。各列示不同的字段,各行示不同的道具数据。 4. 保存Excel文件。 5. 打开Excel2Json工具,选择导入Excel文件。 6. 配置导出参数,如导出路径和导出格式等。 7. 点击“导出”按钮,即可将Excel中的数据导出为JSON格式的配置。 需要注意的是,在使用Excel2Json工具导出配置时,需要按照一定的格式规范来填写Excel数据,以确保导出后的JSON数据能够被Cocos引擎正确解析。例如,需要规范字段名称、数据类型等。开发者可以参考Cocos引擎文档中对配置的要求和规范。 总之,通过将Excel中的数据导出为JSON格式的配置,开发者可以更方便地管理、维护游戏中的配置数据,提高开发效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑小星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值