예제 #1
0
 public void Bind(IDiContainer di)
 {
     GenOutput.FillDomain(GenDomain.Static);
     di.Bind <ProgramObject>().To(programObjComponent);
     di.Bind <IAmDiBasedObjectFactory>().To(d => new AmJitsuGenDiBasedObjectFactory(d.Get));
     di.Bind <IWindowingSystem>().To <UcGui>();
     di.Bind <IGui>().To <UcGui>();
     di.Bind <IRenderService>().To <UcRenderService>();
     di.Bind <IDefaultStateInitializer>().To <UcDefaultStateInitializer>();
     di.Bind <IMoviePlayer>().To <UcCgMoviePlayer>();
     di.Bind <IUcRenderingInfra>().To <UcRenderingInfra>();
     di.Bind <IImageLoader>().To <UcImageLoader>();
     di.BindMulti <IUcInputProvider>().To <UcMouseInputProvider>();
     di.BindMulti <IUcInputProvider>().To <UcKeyboardInputProvider>();
     di.Bind <IVrHeadPositionService>().To <VrHeadPositionService>();
     di.Bind <IStandardMaterialCache>().To <StandardMaterialCache>();
     di.Bind <IRtImageBuilder>().To <UcRtImageBuilder>();
     di.Bind <IRichTextMeasurer>().To <UcRichTextMeasurer>();
     di.Bind <IMessageBoxService>().To <MessageBoxService>();
     di.Bind <IVrInitializerService>().To <VrInitializerService>();
     di.Bind <IGlobalObjectService>().To <GlobalObjectService>();
     di.Bind <IVrManipulationService>().To <VrManipulationService>();
     di.Bind <ILogService>().To <UcLogService>();
     di.Bind <IMessagePopupService>().To <UcMessagePopupService>();
     di.Bind <IVrInputDispatcher>().To <NoviceVrInputDispatcher>();
     di.BindMulti <IVrNavigationMode>().To <MinimapVrNavigationMode>();
     //di.BindMulti<IVrNavigationMode>().To<FixedTeleportVrNavigationMode>();
     //di.BindMulti<IVrNavigationMode>().To<FixedSmoothVrNavigationMode>();
     di.BindMulti <IVrNavigationMode>().To <FreeSmoothVrNavigationMode>();
     di.BindMulti <IVrNavigationMode>().To <MoveInPlaceVrNavigationMode>();
     di.BindMulti <IVrNavigationMode>().To <FreeTeleportVrNavigationMode>();
 }
예제 #2
0
        private static void Run()
        {
            try
            {
                GenOutput.FillDomain(GenDomain.Static);
                var calcType = GenDomain.Static.GetGeneratedType(typeof(ICalculator));
                var calc     = (ICalculator)Activator.CreateInstance(calcType, new Calculator());
                Console.WriteLine(calc.Add(1, 2));
                Console.WriteLine(calc.Multiply(3, 4));
                calc.Memory = 123;
                Console.WriteLine(calc.Memory);
                // todo: test generics and ref/out
            }
            catch (Exception e)
            {
                Console.WriteLine($"FAIL: {e.Message}");
            }

            Console.WriteLine("Press any key to exit...");
            Console.ReadLine();
        }