Protogame.ProtogameAssetModule.Load C# (CSharp) Méthode

Load() public méthode

public Load ( IKernel kernel ) : void
kernel IKernel
Résultat void
        public void Load(IKernel kernel)
        {
            if (kernel.TryGet<IRawLaunchArguments>() == null)
            {
                kernel.Bind<IRawLaunchArguments>()
                    .ToMethod(x => new DefaultRawLaunchArguments(new string[0]))
                    .InSingletonScope();
            }

            kernel.Bind<IAssetLoader>().To<FontAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<LanguageAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<TextureAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<LevelAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<AudioAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<TilesetAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<EffectAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<UberEffectAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<AIAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<ModelAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<TextureAtlasAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<VariableAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<ConfigurationAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetLoader>().To<UserInterfaceAssetLoader>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<FontAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<LanguageAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<TextureAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<LevelAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<AudioAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<TilesetAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<EffectAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<UberEffectAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<ModelAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<TextureAtlasAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<VariableAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<ConfigurationAssetSaver>().InSingletonScope();
            kernel.Bind<IAssetSaver>().To<UserInterfaceAssetSaver>().InSingletonScope();
            kernel.Bind<IRawAssetLoader>().To<RawAssetLoader>().InSingletonScope();
            kernel.Bind<IRawAssetSaver>().To<RawAssetSaver>().InSingletonScope();
            kernel.Bind<ITransparentAssetCompiler>().To<DefaultTransparentAssetCompiler>().InSingletonScope();
            kernel.Bind<IModelSerializer>().To<ModelSerializerGeneric>().InSingletonScope();
            kernel.Bind<ITextureFromHintPath>().To<TextureFromHintPath>().InSingletonScope();
            kernel.Bind<IEffectSemantic>().To<WorldViewProjectionEffectSemantic>().DiscardNodeOnResolve();
            kernel.Bind<IEffectSemantic>().To<TextureEffectSemantic>().DiscardNodeOnResolve();
            kernel.Bind<IEffectSemantic>().To<BonesEffectSemantic>().DiscardNodeOnResolve();
            kernel.Bind<IEffectSemantic>().To<ColorDiffuseEffectSemantic>().DiscardNodeOnResolve();
            kernel.Bind<IEffectSemantic>().To<ScreenDimensionsEffectSemantic>().DiscardNodeOnResolve();
            kernel.Bind<IEffectSemantic>().To<NormalMapEffectSemantic>().DiscardNodeOnResolve();
            kernel.Bind<IEffectSemantic>().To<SpecularEffectSemantic>().DiscardNodeOnResolve();
            kernel.Bind<IEffectSemantic>().To<CameraPositionEffectSemantic>().DiscardNodeOnResolve();

#if PLATFORM_WINDOWS || PLATFORM_MACOS || PLATFORM_LINUX
            kernel.Bind<IAutomaticAssetReload>().To<DefaultAutomaticAssetReload>().InSingletonScope();
#if DEBUG
            this.LoadRawAssetStrategies(kernel);
#endif
            kernel.Bind<ILoadStrategy>().To<LocalSourceLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<EmbeddedSourceLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<LocalCompiledLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<EmbeddedCompiledLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<AssemblyLoadStrategy>().InSingletonScope();
#elif PLATFORM_ANDROID || PLATFORM_OUYA
            kernel.Bind<IAutomaticAssetReload>().To<DisabledAutomaticAssetReload>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<AndroidSourceLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<AndroidCompiledLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<EmbeddedCompiledLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<EmbeddedSourceLoadStrategy>().InSingletonScope();
#elif PLATFORM_IOS || PLATFORM_TVOS
            kernel.Bind<IAutomaticAssetReload>().To<DisabledAutomaticAssetReload>().InSingletonScope();
            // TODO: We still need to implement load strategies for normal content on iOS.
            kernel.Bind<ILoadStrategy>().To<EmbeddedCompiledLoadStrategy>().InSingletonScope();
            kernel.Bind<ILoadStrategy>().To<EmbeddedSourceLoadStrategy>().InSingletonScope();
#endif

            // MonoGame compilation requires 64-bit for content compilation.
            if (IntPtr.Size == 8)
            {
#if PLATFORM_WINDOWS || PLATFORM_LINUX
                kernel.Bind<IAssetCompiler<TextureAsset>>().To<TextureAssetCompiler>().InSingletonScope();
                kernel.Bind<IAssetCompiler<ModelAsset>>().To<ModelAssetCompiler>().InSingletonScope();
                kernel.Bind<IAssetCompiler<AudioAsset>>().To<AudioAssetCompiler>().InSingletonScope();
                kernel.Bind<IAssetCompiler<TextureAtlasAsset>>().To<TextureAtlasAssetCompiler>().InSingletonScope();
#if PLATFORM_WINDOWS
                kernel.Bind<IAssetCompiler<EffectAsset>>().To<EffectAssetCompiler>().InSingletonScope();
                kernel.Bind<IAssetCompiler<UberEffectAsset>>().To<UberEffectAssetCompiler>().InSingletonScope();
                kernel.Bind<IAssetCompiler<FontAsset>>().To<FontAssetCompiler>().InSingletonScope();
#elif PLATFORM_LINUX
                kernel.Bind<IAssetCompiler<EffectAsset>>().To<EffectAssetRemoteCompiler>().InSingletonScope();
                kernel.Bind<IAssetCompiler<FontAsset>>().To<FontAssetRemoteCompiler>().InSingletonScope();
#endif
#endif
            }
        }
ProtogameAssetModule