游戏配置表的导入使用

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

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

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

相关推荐

  1. EasyExcel导入导出使用

    2023-12-06 00:18:04       47 阅读
  2. excel导入导出

    2023-12-06 00:18:04       38 阅读
  3. 【Hive-基础】数据导出导入(HDFS、本地)

    2023-12-06 00:18:04       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-06 00:18:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-06 00:18:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-06 00:18:04       82 阅读
  4. Python语言-面向对象

    2023-12-06 00:18:04       91 阅读

热门阅读

  1. C# 委托/事件/lambda

    2023-12-06 00:18:04       56 阅读
  2. C# 线程(1)

    2023-12-06 00:18:04       46 阅读
  3. STM32F1 DMA串口接收数据

    2023-12-06 00:18:04       63 阅读
  4. Spring Boot Actuator使用指南

    2023-12-06 00:18:04       46 阅读
  5. Filament引擎分析--command抽象设备API

    2023-12-06 00:18:04       46 阅读
  6. python使用sox对指定路径下的音频进行重采样

    2023-12-06 00:18:04       46 阅读
  7. 2023SICTF-web-白猫-[签到]Include

    2023-12-06 00:18:04       52 阅读
  8. 关于分页的问题SQL_CALC_FOUND_ROWS

    2023-12-06 00:18:04       54 阅读
  9. python日期时间(气象)处理方法(1)

    2023-12-06 00:18:04       55 阅读