コード例 #1
0
 public void UpdatePortal(Game1 game)
 {
     if (side1.active)
     {
         door1.UpdateDoor(game.worldMap[game.currentRoom]);
         CollisionState result = CollisionDetector.PerPixelSprite(door1, game.player, game.graphics);
         if (result == CollisionState.Hurtbox)
         {
             if (!side1.GetWasJustActivated())
             {
                 game.RemoveObjectToDraw(door1);
                 game.ActivateMap(side2, door2);
             }
         }
         else
         {
             if (door1.onScreen)
             {
                 game.AddObjectToDraw(door1);
             }
             else
             {
                 game.RemoveObjectToDraw(door1);
             }
         }
     }
     else if (side2.active)
     {
         door2.UpdateDoor(game.worldMap[game.currentRoom]);
         CollisionState result = CollisionDetector.PerPixelSprite(door2, game.player, game.graphics);
         if (result == CollisionState.Hurtbox)
         {
             if (!side2.GetWasJustActivated())
             {
                 game.RemoveObjectToDraw(door2);
                 game.ActivateMap(side1, door1);
             }
         }
         else
         {
             if (door2.onScreen)
             {
                 game.AddObjectToDraw(door2);
             }
             else
             {
                 game.RemoveObjectToDraw(door2);
             }
         }
     }
 }