Beispiel #1
0
        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"));
        }
Beispiel #2
0
        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);
        }