private IEnumerator WaitForLoad() { while (!loaded) { resultsViewController = Resources.FindObjectsOfTypeAll <ResultsViewController>().FirstOrDefault(); fireworksController = ReflectionUtil.GetPrivateField <FireworksController>(resultsViewController, "_fireworksController"); if (resultsViewController == null) { Plugin.Log("resultsViewController is null!", Plugin.LogLevel.DebugOnly); yield return(new WaitForSeconds(0.01f)); } else if (fireworksController == null) { Plugin.Log("fireworksController is null!", Plugin.LogLevel.DebugOnly); yield return(new WaitForSeconds(0.01f)); } else { Plugin.Log("Found FireworksController!", Plugin.LogLevel.DebugOnly); loaded = true; } } Init(); }
public void Update() { //Plugin.Log("resultsViewController.enabled: " + resultsViewController.enabled, Plugin.LogLevel.DebugOnly); if (fireworksController == null && loaded) { if (resultsViewController == null) { resultsViewController = Resources.FindObjectsOfTypeAll <ResultsViewController>().FirstOrDefault(); } else { fireworksController = Resources.FindObjectsOfTypeAll <FireworksController>().FirstOrDefault(); } } else if (resultsViewController.enabled && leftGameCoreScene && fireworksController.enabled) { if (!isEnabled) { fireworksController.enabled = false; // Delete any fireworks that were generated before it could be disabled var fireworkItemController = Resources.FindObjectsOfTypeAll <FireworkItemController>().FirstOrDefault(); GameObject.Destroy(fireworkItemController); } } }
internal static bool Prefix(ref FireworksController ____fireworksController) { ____fireworksController.SetField("_minSpawnInterval", PluginConfig.Instance.MinSpawnInterval); ____fireworksController.SetField("_maxSpawnInterval", PluginConfig.Instance.MaxSpawnInterval); ____fireworksController.SetField("_spawnSize", PluginConfig.Instance.SpawnSize); ____fireworksController.SetField("_lightsIntensity", PluginConfig.Instance.LightIntensityMultiplier); return(true); }
public void Update() { Plugin.Log("Updating fireworks tweaks!", Plugin.LogLevel.DebugOnly); if (!loaded) { return; } if (resultsViewController == null) { Plugin.Log("resultsViewController is null!", Plugin.LogLevel.DebugOnly); resultsViewController = Resources.FindObjectsOfTypeAll <ResultsViewController>().FirstOrDefault(); } else if (fireworksController == null) { Plugin.Log("fireworksController is null!", Plugin.LogLevel.DebugOnly); fireworksController = Resources.FindObjectsOfTypeAll <FireworksController>().FirstOrDefault(); } else if (resultsViewController.enabled && fireworksController.enabled) { Plugin.Log("fireworksController.enabled", Plugin.LogLevel.DebugOnly); if (!isEnabled) { Plugin.Log("isEnabled is false", Plugin.LogLevel.DebugOnly); fireworksController.enabled = false; // Delete any fireworks that were generated before it could be disabled var fireworkItemController = Resources.FindObjectsOfTypeAll <FireworkItemController>().FirstOrDefault(); GameObject.Destroy(fireworkItemController); } else { Plugin.Log("isEnabled is true", Plugin.LogLevel.DebugOnly); } } }
private IEnumerator PostGame(bool passed) { gameState = GameState.PostGame; int endReason = EndReason.lose; //Determine why the level ended if (passed == true && objectives.AllObjectiveCompleted()) { endReason = EndReason.winner; } else if (passed == true && objectives.AnyObjectiveCompleted()) { endReason = EndReason.passed; } else if (exploded == true) { endReason = EndReason.explode; } else if (splash == true) { endReason = EndReason.drowned; } LevelEndInfo end = new LevelEndInfo(passed, endReason); end.level = LevelHandler.CurrentLevel; end.itemsSaved = getSavedCrates(); end.maxItems = getCrateAmount(); end.Reward = reward; end.levelTime = levelTimer; RubyScript ruby = GameObject.FindObjectOfType <RubyScript>(); if (ruby == null) { Debug.LogError("Ruby not found"); } else { end.rubyFound = ruby.found; end.sapphireFound = ruby.found && ruby.IsSapphire; } if (objectives == null) { Debug.LogError("Objectives not found"); } else if (passed == true) { end.obj1Passed = objectives.LevelObjective1(); end.obj2Passed = objectives.LevelObjective2(); end.obj3Passed = objectives.LevelObjective3(); } if (passed == true) { LevelHandler.CompleteLevel(end.level); FireworksController fw = GameObject.FindObjectOfType <FireworksController>(); if (!cheerOnce) { endCheer.PlaySound(); cheerOnce = true; } if (fw != null) { //fw.transform.position = GameObject.FindObjectOfType<Copter>().transform.position + Vector3.up * 3; fw.Launch(); } } if (!passed) { setResetButton(true); } float timer = resetCountdown; float deltaTime = Time.time; while (timer > 0) { timer -= (Time.time - deltaTime); deltaTime = Time.time; yield return(null); } if (SceneManager.GetActiveScene().name == "Tutorial00" && !passed) { GameManager.LoadLevel("IntroScreen"); } else { gameManager.loadMainMenu(true, end, 2); } }