Skip to content
This repository has been archived by the owner on Jul 6, 2023. It is now read-only.

Latest commit

 

History

History
65 lines (57 loc) · 1.76 KB

Module.Config.md

File metadata and controls

65 lines (57 loc) · 1.76 KB

配表管理器 (ConfigManager)

FlashExcel导表工具会自动生成表格相关的CS脚本和二进制数据文件

创建配表管理器

using MotionFramework.Config;

public void Start()
{
	// 创建模块
	MotionEngine.CreateModule<ConfigManager>();
}

加载多个表格的方法

public class Test
{
	public IEnumerator Start()
	{
		List<ConfigManager.LoadPair> loadPairs = GetAllConfigLoadPairs();
		yield return ConfigManager.Instance.LoadConfigs(loadPairs);
	}

	private List<ConfigManager.LoadPair> GetAllConfigLoadPairs()
	{
		List<ConfigManager.LoadPair> loadPairs = new List<ConfigManager.LoadPair>()
		{
			new ConfigManager.LoadPair(typeof(CfgAutoGenerateLanguage), "Config/AutoGenerateLanguage"),
			new ConfigManager.LoadPair(typeof(CfgConfig1), "Config/Config1"),
			new ConfigManager.LoadPair(typeof(CfgConfig2), "Config/Config2"),
			new ConfigManager.LoadPair(typeof(CfgConfig3), "Config/Config3"),
		};
		return loadPairs;
	}
}

加载单个表格的方法

public class Test
{
	public IEnumerator Start()
	{
		var languageConfig = ConfigManager.Instance.LoadConfig<CfgAutoGenerateLanguage>("Config/AutoGenerateLanguage");
		yield return languageConfig;
	}
}

扩展方法方便直接获取数据

// 这里扩展了获取数据的方法
public partial class CfgAutoGenerateLanguage
{
	public static CfgAutoGenerateLanguageTable GetConfigTable(int key)
	{
		CfgAutoGenerateLanguage config = ConfigManager.Instance.GetConfig<CfgAutoGenerateLanguage>();
		return config.GetTable(key) as CfgAutoGenerateLanguageTable;
	}
}
  1. Module.Config/ConfigManager.cs