예제 #1
0
        public static void Startup(ArgvConfigSource originalConfigSource, IConfigSource configSource, ISimulationBase simBase)
        {
            //Get it ready to run
            simBase.Initialize(originalConfigSource, configSource);
            try
            {
                //Start it. This starts ALL modules and completes the startup of the application
                simBase.Startup();
                //Run the console now that we are done
                simBase.Run();
            }
            catch (Exception ex)
            {
                if (ex.Message != "Restart") //Internal needs a restart message
                {
                    string mes = "[AURORA]: Aurora has crashed! Error: " + ex + ", Stack trace: " + ex.StackTrace;

                    m_log.Error(mes);
                    handleException(mes, ex);
                    //Just clean it out as good as we can
                    simBase.Shutdown(false);
                }
                //Then let it restart if it needs by sending it back up to 'while (AutoRestart || Running)' above
                return;
            }
            //If it didn't throw an error, it wants to quit
            Environment.Exit(0);
        }
예제 #2
0
 public static void Startup(IConfigSource originalConfigSource, IConfigSource configSource, ISimulationBase simBase, string [] cmdParameters)
 {
     //Get it ready to run
     simBase.Initialize(originalConfigSource, configSource, cmdParameters, m_configLoader);
     try {
         //Start it. This starts ALL modules and completes the startup of the application
         simBase.Startup();
         //Run the console now that we are done
         simBase.Run();
     } catch (Exception ex) {
         UnhandledException(false, ex);
         //Just clean it out as good as we can
         simBase.Shutdown(false);
     }
 }
예제 #3
0
        public static void Startup(ArgvConfigSource originalConfigSource, IConfigSource configSource,
                                   ISimulationBase simBase, string[] cmdParameters)
        {
            //Get it ready to run
            simBase.Initialize(originalConfigSource, configSource, cmdParameters, m_configLoader);
            try
            {
                //Start it. This starts ALL modules and completes the startup of the application
                simBase.Startup();
                //Run the console now that we are done
                simBase.Run();
            }
            catch (Exception ex)
            {
                if (ex.Message != "Restart") //Internal needs a restart message
                {
                    UnhandledException(false, ex);
                    //Just clean it out as good as we can
                    simBase.Shutdown(false);
                    IRegionLoader[] regionLoaders = simBase.ApplicationRegistry.RequestModuleInterfaces <IRegionLoader>();
#if (!ISWIN)
                    foreach (IRegionLoader loader in regionLoaders)
                    {
                        if (loader != null && loader.Default)
                        {
                            loader.FailedToStartRegions(ex.Message);
                        }
                    }
#else
                    foreach (IRegionLoader loader in regionLoaders.Where(loader => loader != null && loader.Default))
                    {
                        loader.FailedToStartRegions(ex.Message);
                    }
#endif
                }
                //Then let it restart if it needs by sending it back up to 'while (AutoRestart || Running)' above
                return;
            }
            //If it didn't throw an error, it wants to quit
            Environment.Exit(0);
        }
예제 #4
0
        public static void Startup(ArgvConfigSource originalConfigSource, IConfigSource configSource,
                                   ISimulationBase simBase, string[] cmdParameters)
        {
            //Get it ready to run
            simBase.Initialize(originalConfigSource, configSource, cmdParameters, m_configLoader);
            try
            {
                //Start it. This starts ALL modules and completes the startup of the application
                simBase.Startup();
                //Run the console now that we are done
                simBase.Run();
            }
            catch (Exception ex)
            {
                if (ex.Message != "Restart") //Internal needs a restart message
                {
                    UnhandledException(false, ex);
                    //Just clean it out as good as we can
                    simBase.Shutdown(false);
                    IRegionLoader[] regionLoaders = simBase.ApplicationRegistry.RequestModuleInterfaces<IRegionLoader>();
#if (!ISWIN)
                    foreach (IRegionLoader loader in regionLoaders)
                    {
                        if (loader != null && loader.Default)
                        {
                            loader.FailedToStartRegions(ex.Message);
                        }
                    }
#else
                    foreach (IRegionLoader loader in regionLoaders.Where(loader => loader != null && loader.Default))
                    {
                        loader.FailedToStartRegions(ex.Message);
                    }
#endif
                }
                //Then let it restart if it needs by sending it back up to 'while (AutoRestart || Running)' above
                return;
            }
            //If it didn't throw an error, it wants to quit
            Environment.Exit(0);
        }
예제 #5
0
        public static void Startup(ArgvConfigSource originalConfigSource, IConfigSource configSource, ISimulationBase simBase)
        {
            //Get it ready to run
            simBase.Initialize(originalConfigSource, configSource);
            try
            {
                //Start it. This starts ALL modules and completes the startup of the application
                simBase.Startup();
                //Run the console now that we are done
                simBase.Run();
            }
            catch (Exception ex)
            {
                if (ex.Message != "Restart") //Internal needs a restart message
                {
                    string mes = "[AURORA]: Aurora has crashed! Error: " + ex + ", Stack trace: " + ex.StackTrace;

                    m_log.Error(mes);
                    handleException(mes, ex);
                    //Just clean it out as good as we can
                    simBase.Shutdown(false);
                }
                //Then let it restart if it needs by sending it back up to 'while (AutoRestart || Running)' above
                return;
            }
            //If it didn't throw an error, it wants to quit
            Environment.Exit(0);
        }
 public static void Startup(IConfigSource originalConfigSource, IConfigSource configSource,
     ISimulationBase simBase, string[] cmdParameters)
 {
     //Get it ready to run
     simBase.Initialize(originalConfigSource, configSource, cmdParameters, m_configLoader);
     try
     {
         //Start it. This starts ALL modules and completes the startup of the application
         simBase.Startup();
         //Run the console now that we are done
         simBase.Run();
     }
     catch (Exception ex)
     {
         UnhandledException(false, ex);
         //Just clean it out as good as we can
         simBase.Shutdown(false);
     }
 }
예제 #7
0
 public static void Startup(ArgvConfigSource originalConfigSource, IConfigSource configSource, ISimulationBase simBase, string[] cmdParameters)
 {
     //Get it ready to run
     simBase.Initialize (originalConfigSource, configSource, cmdParameters, m_configLoader);
     try
     {
         //Start it. This starts ALL modules and completes the startup of the application
         simBase.Startup();
         //Run the console now that we are done
         simBase.Run();
     }
     catch (Exception ex)
     {
         if (ex.Message != "Restart") //Internal needs a restart message
         {
             UnhandledException (false, ex);
             //Just clean it out as good as we can
             simBase.Shutdown(false);
         }
         //Then let it restart if it needs by sending it back up to 'while (AutoRestart || Running)' above
         return;
     }
     //If it didn't throw an error, it wants to quit
     Environment.Exit(0);
 }