public override void InstallBindings() { var config = Container.Resolve <PluginConfig>(); if (!config.Enabled || Container.Resolve <SaberSet>().IsEmpty) { return; } Container.BindInterfacesAndSelfTo <EventPlayer>().AsTransient(); //Container.BindInterfacesAndSelfTo<AFHandler>().AsSingle(); if (!Container.HasBinding <ObstacleSaberSparkleEffectManager>()) { Container.Bind <ObstacleSaberSparkleEffectManager>().FromMethod(ObstanceSaberSparkleEffectManagerGetter).AsSingle(); } Container.BindInterfacesAndSelfTo <GameSaberSetup>().AsSingle(); Container.BindInstance(SaberModelRegistration.Create <SfSaberModelController>(300)); #if DEBUG && TEST_TRAIL if (Container.TryResolve <LaunchOptions>()?.FPFC ?? false) { var testerInitData = new SaberMovementTester.InitData { CreateTestingSaber = true }; Container.BindInterfacesAndSelfTo <SaberMovementTester>().AsSingle().WithArguments(testerInitData); } #endif }
public override void InstallBindings() { var config = Container.Resolve <PluginConfig>(); if (!config.Enabled || Container.Resolve <SaberSet>().IsEmpty) { return; } if (Container.HasBinding <GameplayCoreSceneSetupData>()) { var sceneSetupData = Container.Resolve <GameplayCoreSceneSetupData>(); var beatmapData = sceneSetupData.difficultyBeatmap.beatmapData; Container.Bind <BeatmapData>().WithId("beatmapdata").FromInstance(beatmapData); var lastNoteTime = beatmapData.GetLastNoteTime(); Container.Bind <float>().WithId("LastNoteId").FromInstance(lastNoteTime); Container.BindInterfacesAndSelfTo <EventPlayer>().AsTransient(); } //Container.BindInterfacesAndSelfTo<AFHandler>().AsSingle(); Container.BindInterfacesAndSelfTo <GameSaberSetup>().AsSingle(); Container.BindInstance(SaberModelRegistration.Create <SfSaberModelController>(300)).AsSingle(); #if DEBUG && TEST_TRAIL if (Container.TryResolve <LaunchOptions>()?.FPFC ?? false) { var testerInitData = new SaberMovementTester.InitData { CreateTestingSaber = true }; Container.BindInterfacesAndSelfTo <SaberMovementTester>().AsSingle().WithArguments(testerInitData); } #endif }
public void Init(object _, IPALogger log, Zenjector zenjector) { Log = log; GameObject sabers; using (var stream = Assembly.GetManifestResourceStream(ClawsSaberResourceName)) { sabers = AssetBundle.LoadFromStream(stream).LoadAsset <GameObject>("_CustomSaber"); } foreach (Transform t in sabers.transform) { if (t.name == "LeftSaber") { LeftSaber = t.gameObject; } else if (t.name == "RightSaber") { RightSaber = t.gameObject; } if (LeftSaber != null && RightSaber != null) { break; } } zenjector.Install(Location.Player, container => { if (!IsEnabled) { return; } container.BindInstance(SaberModelRegistration.Create <ClawsModelController>(int.MaxValue)); }); }