예제 #1
0
파일: Engine.cs 프로젝트: xposure/Worm
        private Container CreateDI()
        {
            var container = new Container();

            //singletons
            container.RegisterInstance(this);
            container.RegisterInstance(GraphicsDevice);
            container.RegisterInstance(graphics);
            container.RegisterInstance <IAllocator>(_serviceContainer.GetInstance <IAllocator>());
            container.RegisterInstance <EntityManager>(_serviceContainer.GetInstance <EntityManager>());
            container.RegisterInstance <IEventManager>(_serviceContainer.GetInstance <IEventManager>());
            container.RegisterInstance <IAutoEventManager>(_serviceContainer.GetInstance <IAutoEventManager>());

            //logging
            container.RegisterInstance <ILoggerFactory>(_logFactory);
            container.Register(typeof(ILogger <>), typeof(Logger <>));

            _services.RegisterPlatformInstances(_serviceContainer, container);

            return(container);
        }