public void InitComunicationChannels() { ToEmpyrion = new ClientMessagePipe(CommandLineOptions.GetOption("-ModToEmpyrionPipe", "EWAToEmpyrionPipe")) { log = LogOut }; FromEmpyrion = new ServerMessagePipe(CommandLineOptions.GetOption("-EmpyrionToModPipe", "EmpyrionToEWAPipe")) { log = LogOut }; FromEmpyrion.Callback = Msg => { if (InServerMessageHandler.TryGetValue(Msg.GetType(), out Action <object> Handler)) { Handler(Msg); } }; Parallel.ForEach(Plugins.OfType <IClientHostCommunication>(), async P => await SaveApiCall(() => P.ToEmpyrion = ToEmpyrion, P, "ToEmpyrion")); Parallel.ForEach(Plugins, async P => await SaveApiCall(() => P.Game_Start(this), P, "Game_Start")); }
public void InitComunicationChannels() { Dispatcher = new ModDispatcher(); ToEmpyrion = new ClientMessagePipe(CommandLineOptions.GetOption("-ModToEmpyrionPipe", "ModToEmpyrionPipe")) { log = LogOut }; FromEmpyrion = new ServerMessagePipe(CommandLineOptions.GetOption("-EmpyrionToModPipe", "EmpyrionToModPipe")) { log = LogOut }; FromEmpyrion.Callback = Msg => { if (InServerMessageHandler.TryGetValue(Msg.GetType(), out Action <object> Handler)) { Handler(Msg); } }; Dispatcher.Game_Start(this); }