public static SFDirectories Create() { var dirs = new SFDirectories(); var baseDir = new DirectoryInfo(UnityGame.InstallPath); dirs.SaberFactoryDir = baseDir.CreateSubdirectory("Saber Factory"); dirs.PresetDir = dirs.SaberFactoryDir.CreateSubdirectory("Presets"); dirs.CustomSaberDir = baseDir.CreateSubdirectory("CustomSabers"); return(dirs); }
public override void InstallBindings() { if (_config.FirstLaunch) { _config.FirstLaunch = false; _config.RuntimeFirstLaunch = true; } var rtOptions = new LaunchOptions(); if (Environment.GetCommandLineArgs().Any(x => x.ToLower() == "fpfc")) { rtOptions.FPFC = true; AltTrail.CapFps = true; } Container.BindInstance(rtOptions).AsSingle(); var dirs = SFDirectories.Create(); Container.BindInstance(dirs); Container.BindLoggerAsSiraLogger(_logger); Container.BindInstance(_config).AsSingle(); Container.Bind <PluginManager>().AsSingle(); Container.Bind <PresetSaveManager>().AsSingle(); Container.BindInterfacesAndSelfTo <TrailConfig>().AsSingle(); Container.BindInterfacesAndSelfTo <EmbeddedAssetLoader>().AsSingle(); Container.Bind <CustomSaberModelLoader>().AsSingle(); Container.Bind <TextureStore>().AsSingle(); Container.BindInterfacesAndSelfTo <MainAssetStore>().AsSingle() .OnInstantiated <MainAssetStore>(OnMainAssetStoreInstantiated); // Model stuff Container.Bind <SaberModel>().WithId(ESaberSlot.Left).AsCached().WithArguments(ESaberSlot.Left); Container.Bind <SaberModel>().WithId(ESaberSlot.Right).AsCached().WithArguments(ESaberSlot.Right); Container.Bind <SaberSet>().AsSingle(); InstallFactories(); }