Beispiel #1
0
 public override void HandleCrewmanCollision(Crewman crewman)
 {
     if (!Activated)
     {
         Activated = true;
         game.ExecuteScript(Script, this, crewman);
     }
 }
Beispiel #2
0
 public override void HandleCrewmanCollision(Crewman crewman)
 {
     if (crewman.CurrentCheckpoint != this || crewman.PendingTrinkets.Count > 0)
     {
         if (crewman.CurrentCheckpoint != null)
         {
             crewman.CurrentCheckpoint.Deactivate();
         }
         crewman.CurrentCheckpoint = this;
         crewman.CheckpointFlipX   = flipX;
         crewman.CheckpointFlipY   = flipY;
         crewman.CheckpointX       = CenterX;
         crewman.CheckpointY       = flipY ? Y : Bottom;
         if (crewman.PendingTrinkets.Count > 0)
         {
             foreach (Trinket tr in crewman.PendingTrinkets)
             {
                 crewman.HeldTrinkets.Add(tr.ID);
             }
             crewman.PendingTrinkets.Clear();
         }
         Activate();
     }
 }
Beispiel #3
0
        public override void HandleCrewmanCollision(Crewman crewman)
        {
            crewman.CenterX   = OutX + Width / 2;
            crewman.PreviousX = crewman.X;
            switch (Settings)
            {
            case FlipSettings.ReverseFlip:
                crewman.Gravity *= -1;
                break;

            case FlipSettings.Flip:
                crewman.Gravity = -Math.Abs(crewman.Gravity);
                break;

            case FlipSettings.Unflip:
                crewman.Gravity = Math.Abs(crewman.Gravity);
                break;
            }
            if (crewman.Gravity < 0)
            {
                crewman.Y = OutY;
            }
            else
            {
                crewman.Bottom = OutY + Height;
            }
            crewman.PreviousY = crewman.Y;
            crewman.YVelocity = 0;
            if (crewman.IsPlayer)
            {
                game.LoadRoom(OutRoomX, OutRoomY);
            }
            game.Flash(10);
            game.Shake(40);
            WarpSound?.Play();
        }