コード例 #1
0
 public override bool LowPriorityLeftClick(int x, int y, Farmer who)
 {
     if (Game1.activeClickableMenu != null)
     {
         return(false);
     }
     foreach (Furniture furnitureItem2 in furniture)
     {
         if (!furnitureItem2.isPassable() && furnitureItem2.boundingBox.Value.Contains(x, y) && furnitureItem2.canBeRemoved(who))
         {
             Guid guid3 = furniture.GuidOf(furnitureItem2);
             if (!furnitureToRemove.Contains(guid3))
             {
                 furnitureToRemove.Add(guid3);
             }
             return(true);
         }
         if (furnitureItem2.boundingBox.Value.Contains(x, y) && furnitureItem2.heldObject.Value != null)
         {
             furnitureItem2.clicked(who);
             return(true);
         }
         if (!furnitureItem2.isGroundFurniture() && furnitureItem2.canBeRemoved(who))
         {
             int wall_y = y;
             foreach (Microsoft.Xna.Framework.Rectangle wall in getWalls())
             {
                 if (wall.Contains(x / 64, y / 64))
                 {
                     wall_y = wall.Top * 64;
                     break;
                 }
             }
             if (furnitureItem2.boundingBox.Value.Contains(x, wall_y))
             {
                 Guid guid2 = furniture.GuidOf(furnitureItem2);
                 if (!furnitureToRemove.Contains(guid2))
                 {
                     furnitureToRemove.Add(guid2);
                 }
                 return(true);
             }
         }
     }
     foreach (Furniture furnitureItem in furniture)
     {
         if (furnitureItem.isPassable() && furnitureItem.boundingBox.Value.Contains(x, y) && furnitureItem.canBeRemoved(who))
         {
             Guid guid = furniture.GuidOf(furnitureItem);
             if (!furnitureToRemove.Contains(guid))
             {
                 furnitureToRemove.Add(guid);
             }
             return(true);
         }
     }
     return(base.LowPriorityLeftClick(x, y, who));
 }