Ejemplo n.º 1
0
        private void OnLoadLevel(On.Celeste.Level.orig_LoadLevel orig, Level self, Player.IntroTypes playerIntro, bool isFromLoader)
        {
            BGModeToggle.BGMode    = BGModeToggle.Persist;
            BGModeToggle.OldBGMode = !BGModeToggle.Persist;
            orig(self, playerIntro, isFromLoader);

            if (self != null)
            {
                if (self.Tracker != null)
                {
                    if (self.Tracker.GetEntity <Player>() != null)
                    {
                        if (self.Entities.Any(entity => (entity is BGModeToggle)) || BGModeToggle.BGMode)
                        {
                            self.Tracker.GetEntity <Player>().Sprite.Position = new Vector2();
                            if (!BGModeToggle.Persist)
                            {
                                self.Tracker.GetEntity <Player>().Sprite.Position += new Vector2(0, +2);
                            }
                            BGModeToggle.Setup(self);
                            BGModeToggle.UpdateBG(self);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        public override void OnEnter(Player player)
        {
            Level level = base.Scene as Level;

            if (BGModeToggle.BGMode != mode)
            {
                BGModeToggle.BGMode = mode;
                if (persistant)
                {
                    BGModeToggle.Persist = mode;
                }
                BGModeToggle.UpdateBG(level);
                Input.Rumble(RumbleStrength.Medium, RumbleLength.Medium);
                Celeste.Freeze(0.05f);
                Add(new Coroutine(BGModeToggle.FlipFlash(level)));
            }
        }