using System; using System.Collections.Generic; using System.IO; namespace ET.Server { [Callback(CallbackType.GetAllConfigBytes)] public class GetAllConfigBytes: IAction> { public void Handle(ConfigComponent configComponent, Dictionary output) { List startConfigs = new List() { "StartMachineConfigCategory", "StartProcessConfigCategory", "StartSceneConfigCategory", "StartZoneConfigCategory", }; HashSet configTypes = Game.EventSystem.GetTypes(typeof (ConfigAttribute)); foreach (Type configType in configTypes) { string configFilePath; if (startConfigs.Contains(configType.Name)) { configFilePath = $"../Config/{Game.Options.StartConfig}/{configType.Name}.bytes"; } else { configFilePath = $"../Config/{configType.Name}.bytes"; } output[configType.Name] = File.ReadAllBytes(configFilePath); } } } [Callback(CallbackType.GetOneConfigBytes)] public class GetOneConfigBytes: IFunc { public byte[] Handle(string configName) { byte[] configBytes = File.ReadAllBytes($"../Config/{configName}.bytes"); return configBytes; } } }