using System; using Base; using Model; namespace Controller { [MessageHandler(AppType.Manager)] public class C2M_ReloadHandler: AMRpcEvent { protected override async void Run(Entity session, C2M_Reload message, Action reply) { M2C_Reload m2CReload = new M2C_Reload(); try { StartConfigComponent startConfigComponent = Game.Scene.GetComponent(); NetInnerComponent netInnerComponent = Game.Scene.GetComponent(); foreach (StartConfig startConfig in startConfigComponent.GetAll()) { if (!message.AppType.Contains(startConfig.Options.AppType)) { continue; } InnerConfig innerConfig = startConfig.Config.GetComponent(); Entity serverSession = netInnerComponent.Get($"{innerConfig.Host}:{innerConfig.Port}"); await serverSession.GetComponent().Call(new M2A_Reload()); } } catch (Exception e) { m2CReload.Error = ErrorCode.ERR_ReloadFail; m2CReload.Message = e.ToString(); } reply(m2CReload); } } }