Пример #1
0
        public Engine(EngineConfig config)
        {
            m_engineConfig       = ResolveEngineConfig(config);
            m_eventManager       = new Event.EventManager();
            m_engineEvents       = new EngineEvents(m_eventManager);
            m_modules            = new List <Module>();
            m_apiContexts        = new SortedDictionary <int, ApiContext>();
            m_iNextApiContextUid = 0;
            m_iNextModuleUid     = 0;

            m_iModuleAvailableEventUid   = m_engineEvents.GetEventTypeUid(EngineEvents.Types.MODULE_AVAILABLE);
            m_iModuleUnavailableEventUid = m_engineEvents.GetEventTypeUid(EngineEvents.Types.MODULE_UNAVAILABLE);
            m_iApiConstructedEventUid    = m_engineEvents.GetEventTypeUid(EngineEvents.Types.API_CONSTRUCTED);
            m_iDependencyRequestEventUid = m_engineEvents.GetEventTypeUid(EngineEvents.Types.DEPENDENCY_REQUEST);

            m_eventManager.AddEventListener(this, m_engineEvents.GetEventTypeUid(EngineEvents.Types.DEPENDENCY_REQUEST));

            AddModule <Modules.Database.DatabaseModule>("database", null);
            AddModule <Modules.Disk.DiskModule>("disk", null);
            AddModule <Modules.Network.NetworkModule>("network", null);
            AddModule <Modules.Validation.ValidationModule>("validation", null);
            AddModule <Modules.Settings.SettingsModule>("settings", new List <string> {
                "database", "database"
            });
        }
Пример #2
0
 public ModuleConfig(int iUid, string sName, Event.EventManager eventManager, EngineEvents engineEvents, List <string> dependencies)
 {
     m_iUid         = iUid;
     m_sName        = sName;
     m_eventManager = eventManager;
     m_engineEvents = engineEvents;
     m_dependencies = (dependencies == null) ? new List <string>() : dependencies;
 }