public void OnActiveSceneChanged(Scene _, Scene scene) { Logger.Log($"Scene Change! {scene.name}"); if (_controller == null) { _controller = new GameObject("WorldEffectController"); GameObject.DontDestroyOnLoad(_controller); _particleController = _controller.AddComponent <WorldParticleController>(); _noiseController = _controller.AddComponent <CameraNoiseController>(); bool particleState = Config.DustParticles; _particleController.Init(particleState); bool noiseState = Config.CameraGrain; _noiseController.Init(noiseState); } if (env.Contains(scene.name)) { _particleController.OnSceneChange(scene); _noiseController.OnSceneChange(scene); } }
public void OnApplicationStart() { SlashParticleMultiplier = Config.SlashParticleMultiplier; ExplosionParticleMultiplier = Config.ExplosionParticleMultiplier; try { HarmonyInstance harmony = HarmonyInstance.Create("com.jackbaron.beatsaber.particleoverdrive"); harmony.PatchAll(Assembly.GetExecutingAssembly()); } catch (Exception e) { Logger.Log("This plugin requires Harmony. Make sure you " + "installed the plugin properly, as the Harmony DLL should have been installed with it."); Console.WriteLine(e); } }