private void Disappear(BadelineDummy badeline, bool silent = false)
        {
            if (!silent)
            {
                Audio.Play("event:/char/badeline/disappear", badeline.Position);
            }

            SceneAs <Level>()?.Displacement.AddBurst(badeline.Center, 0.5f, 24f, 96f, 0.4f);
            SceneAs <Level>()?.Particles.Emit(BadelineOldsite.P_Vanish, 12, badeline.Center, Vector2.One * 6f);
            badeline.RemoveSelf();
        }
Esempio n. 2
0
        private IEnumerator BadelineRejoin()
        {
            Audio.Play("event:/new_content/char/badeline/maddy_join_quick", badeline.Position);
            Vector2 from = badeline.Position;

            for (var p = 0.0f; (double)p < 1.0; p += Engine.DeltaTime / 0.25f)
            {
                badeline.Position = Vector2.Lerp(from, player.Position, Ease.CubeIn(p));
                yield return(null);
            }

            Level.Displacement.AddBurst(player.Center, 0.5f, 8f, 32f, 0.5f);
            badeline.RemoveSelf();
        }
Esempio n. 3
0
 public override void OnEnd(Level level)
 {
     level.OnEndOfFrame += (Action)(() => {
         level.Session.Inventory.Dashes = maxDashes;
         player.Dashes = maxDashes;
         player.Depth = 0;
         player.Active = true;
         player.Visible = true;
         player.StateMachine.State = Player.StNormal;
         badeline?.RemoveSelf();
         if (endLevel)
         {
             level.CompleteArea(true, false, false);
             player.StateMachine.State = Player.StDummy;
             SpotlightWipe.FocusPoint += new Vector2(0.0f, 0f);
         }
     });
 }
        private IEnumerator Appear(BadelineDummy badeline, bool silent = false)
        {
            if (Scene == null)
            {
                badeline.RemoveSelf();
                yield break;
            }

            badelines.Add(badeline);
            ResetPosition();

            if (!silent)
            {
                Audio.Play("event:/char/badeline/appear", badeline.Position);
            }

            SceneAs <Level>().Displacement.AddBurst(badeline.Center, 0.5f, 24f, 96f, 0.4f);
            SceneAs <Level>().Particles.Emit(BadelineOldsite.P_Vanish, 12, badeline.Center, Vector2.One * 6f);
        }