private static Scene _GetNextScene(Overworld.StartMode startMode, HiresSnow snow) { bool transitionToModUpdater = false; if (CoreModule.Settings.AutoUpdateModsOnStartup) { if (!ModUpdaterHelper.IsAsyncUpdateCheckingDone()) { // update checking is not done yet. // transition to mod updater screen to display the "checking for updates" message. transitionToModUpdater = true; } else { SortedDictionary <ModUpdateInfo, EverestModuleMetadata> modUpdates = ModUpdaterHelper.GetAsyncLoadedModUpdates(); if (modUpdates != null && modUpdates.Count != 0) { // update checking is done, and updates are available. // transition to mod updater screen in order to install the updates transitionToModUpdater = true; } } } if (transitionToModUpdater) { return(new AutoModUpdater(snow)); } else { return(new OverworldLoader(startMode, snow)); } }
public static bool PlayCustomVignette(Session session, bool fromSaveData) { bool playVignette = !fromSaveData && session.StartedFromBeginning; AreaData area = AreaData.Get(session); MapMetaCompleteScreen screen; MapMetaTextVignette text; if (playVignette && (screen = area.GetMeta()?.LoadingVignetteScreen) != null && screen.Atlas != null) { Engine.Scene = new CustomScreenVignette(session, meta: screen); return(true); } else if (playVignette && (text = area.GetMeta()?.LoadingVignetteText) != null && text.Dialog != null) { HiresSnow snow = null; if (Engine.Scene is Overworld) { snow = (Engine.Scene as Overworld).Snow; } if (snow != null && text.SnowDirection != null) { snow.Direction = text.SnowDirection; } Engine.Scene = new CustomTextVignette(session, text.Dialog, snow); return(true); } return(false); }
public void ctor(Mode mode, Session session, HiresSnow snow = null) { // Restore to metadata of A-Side. AreaData.Get(session).RestoreASideAreaData(); orig_ctor(mode, session, snow); Everest.Events.Level.Exit(Engine.Scene as Level, this, mode, session, snow); }
private static void LevelExitOnCtor(On.Celeste.LevelExit.orig_ctor orig, LevelExit self, LevelExit.Mode mode, Session session, HiresSnow snow) { orig(self, mode, session, snow); if (mode != LevelExit.Mode.GoldenBerryRestart) { Reset(); } }
public FactoryIntroVignette(Session session, HiresSnow snow = null) { this.session = session; areaMusic = session.Audio.Music.Event; session.Audio.Music.Event = null; session.Audio.Apply(forceSixteenthNoteHack: false); Add(hud = new HudRenderer()); RendererList.UpdateLists(); textbox = new Textbox("KaydenFox_FactoryMod_1_Factory_A_Intro"); textCoroutine = new Coroutine(TextSequence()); }
public CustomTextVignette(Session session, string text, HiresSnow snow = null) { this.session = session; areaMusic = session.Audio.Music.Event; session.Audio.Music.Event = null; session.Audio.Apply(); sfx = Audio.Play(SFX.music_prologue_intro_vignette); if (snow == null) { fade = 1f; snow = new HiresSnow(); } Add(renderer = new HudRenderer()); Add(this.snow = snow); RendererList.UpdateLists(); this.text = FancyText.Parse(Dialog.Get(text), 960, 8, 0f); textCoroutine = new Coroutine(TextSequence()); }
private void onLevelExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { ResetVariantsOnLevelExit(); }
public patch_LevelExit(Mode mode, Session session, HiresSnow snow = null) : base(mode, session, snow) { // no-op. MonoMod ignores this - we only need this to make the compiler shut up. }
public extern void orig_ctor(Mode mode, Session session, HiresSnow snow = null);
private static void OnLevelExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { DiscordPresence.startTimestamp = 0; DiscordPresence.endTimestamp = 0; UpdateText(CoreModule.Settings.DiscordTextInMenu); }
private void LevelExitOnCtor(On.Celeste.LevelExit.orig_ctor orig, LevelExit self, LevelExit.Mode mode, Session session, HiresSnow snow) { orig(self, mode, session, snow); previousRoom = null; if (mode == LevelExit.Mode.Restart && !StateManager.Instance.IsSaved) { SpeedrunToolModule.Settings.RoomTimer = SpeedrunToolSettings.RoomTimerStrings.First(); } }
internal static void Exit(_Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) => OnExit?.Invoke(level, exit, mode, session, snow);
private void onLevelExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { snowBackdropAddedByEVM = false; }
public void OnExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { if (mode == LevelExit.Mode.Completed || mode == LevelExit.Mode.CompletedInterlude) { Step(level); } }
public AutoModUpdater(HiresSnow snow) { this.snow = snow; cogwheel = GFX.Gui["reloader/cogwheel"]; }
private void EndlessCantRestart(On.Celeste.LevelExit.orig_ctor orig, LevelExit self, LevelExit.Mode mode, Session session, HiresSnow snow) { var settings = this.InRandomizerSettings; if (settings != null && settings.Algorithm == LogicType.Endless && (mode == LevelExit.Mode.Restart || mode == LevelExit.Mode.GoldenBerryRestart)) { mode = LevelExit.Mode.SaveAndQuit; } orig(self, mode, session, snow); }
/// <summary> /// Reset values if player exits or restarts chapter. /// </summary> /// <param name="level">Level object.</param> /// <param name="exit">Level exit object.</param> /// <param name="mode">Level exit mode.</param> /// <param name="session">Current session.</param> /// <param name="snow">???</param> private void OnLevelExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { Log($"OnLevelExit: mode={mode}"); switch (mode) { case LevelExit.Mode.GoldenBerryRestart: case LevelExit.Mode.SaveAndQuit: break; default: // Reset player life count lifeCount = 1; infiniteLives = true; SaveSessionData(); break; } }
private void EnterToRandoMenu(On.Celeste.OverworldLoader.orig_ctor orig, OverworldLoader self, Overworld.StartMode startMode, HiresSnow snow) { if ((startMode == Overworld.StartMode.MainMenu || startMode == Overworld.StartMode.AreaComplete) && this.InRandomizer) { startMode = RandoModule.STARTMODE_RANDOMIZER; } orig(self, startMode, snow); }
private static void onLevelExitConstructor(On.Celeste.LevelExit.orig_ctor orig, LevelExit self, LevelExit.Mode mode, Session session, HiresSnow snow) { orig(self, mode, session, snow); if (mode == LevelExit.Mode.Restart || mode == LevelExit.Mode.GoldenBerryRestart) { // be sure to keep the lobby info in the session, even if we are resetting it. temporaryLobbySIDHolder = CollabModule.Instance.Session.LobbySID; temporaryRoomHolder = CollabModule.Instance.Session.LobbyRoom; temporarySpawnPointHolder = new Vector2(CollabModule.Instance.Session.LobbySpawnPointX, CollabModule.Instance.Session.LobbySpawnPointY); temporarySaveAllowedHolder = CollabModule.Instance.Session.SaveAndReturnToLobbyAllowed; } if ((mode == LevelExit.Mode.GiveUp || mode == LevelExit.Mode.Completed) && CollabModule.Instance.Session.LobbySID != null) { // be sure that Return to Map and such from a collab entry returns to the lobby, not to the collab entry. SaveData.Instance.LastArea_Safe = AreaData.Get(CollabModule.Instance.Session.LobbySID).ToKey(); } }
private void onLevelExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { // reset the cooldown climbJumpGrabCooldown = -1f; }
internal static void LevelExit(On.Celeste.LevelExit.orig_ctor orig, LevelExit self, LevelExit.Mode mode, Session session, HiresSnow snow) { if (EmoteModMain.anim_by_game == 1) { cancelEmote(); } orig(self, mode, session, snow); }
private static void onOverworldLoad(On.Celeste.OverworldLoader.orig_ctor orig, OverworldLoader self, Overworld.StartMode startMode, HiresSnow snow) { orig(self, startMode, snow); if (startMode != (Overworld.StartMode)(-1)) // -1 = in-game overworld from the collab utils { deactivateHooks(); deactivateHooksNoJungleHelper(); } }
private void LevelExitOnCtor(On.Celeste.LevelExit.orig_ctor orig, LevelExit self, LevelExit.Mode mode, Session session, HiresSnow snow) { orig(self, mode, session, snow); Clear(); }
private static void saveNewLazilyLoadedPaths(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { writeNewPaths(session.Area.GetSID()); }
public patch_OverworldLoader(Overworld.StartMode startMode, HiresSnow snow = null) : base(startMode, snow) { // no-op. MonoMod ignores this - we only need this to make the compiler shut up. }
public patch_AreaComplete(Session session, XmlElement xml, Atlas atlas, HiresSnow snow, MapMetaCompleteScreen meta) : base(session, xml, atlas, snow) { // no-op. MonoMod ignores this - we only need this to make the compiler shut up. }
private void onLevelExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { ExistingColorGrades.Remove("trigger"); if (Settings.ColorGrading >= ExistingColorGrades.Count) { Settings.ColorGrading = -1; Settings.ModColorGrade = null; } }
[PatchAreaCompleteCtor] // ... except for manually manipulating the method via MonoModRules public extern void ctor(Session session, XmlElement xml, Atlas atlas, HiresSnow snow);
public void ctor_LevelExit(Mode mode, Session session, HiresSnow snow = null) { orig_ctor_LevelExit(mode, session, snow); Everest.Events.Level.Exit(Engine.Scene as Level, this, mode, session, snow); }
private static void onLevelExit(Level level, LevelExit exit, LevelExit.Mode mode, Session session, HiresSnow snow) { if (mode == LevelExit.Mode.SaveAndQuit) { // if saving in a No Refill Field, be sure to restore the refills. Player player = level.Tracker.GetEntity <Player>(); if (player != null && player.CollideCheck <NoRefillField>()) { level.Session.Inventory.NoRefills = false; } } }