コード例 #1
0
        public StorageFurnitureContainer(StorageFurniture furniture)
        {
            this.Furniture = furniture;
            this.Data      = new ContainerData(furniture.modData);

            StorageFurnitureContainer.DresserCategories ??= new HashSet <int>(new ShopMenu(new List <ISalable>(), context: "Dresser").categoriesToSellHere);
        }
コード例 #2
0
 private static bool PrefixCheckedAction(StorageFurniture __instance)
 {
     if (ModEntry.Config.FurniturePlacementKey.IsDown() && Game1.player.ActiveObject is SObject obj && __instance.heldObject.Value is null)
     {
         Game1.player.ActiveObject   = null;
         __instance.heldObject.Value = obj;
         return(false);
     }
     return(true);
 }
コード例 #3
0
        } = false;                                         // Automate doesn't support storage containers


        /*********
        ** Public methods
        *********/
        /// <summary>Construct an instance.</summary>
        /// <param name="furniture">The in-game storage furniture.</param>
        /// <param name="reflection">Simplifies access to private code.</param>
        public StorageFurnitureContainer(StorageFurniture furniture, IReflectionHelper reflection)
        {
            string defaultName = reflection.GetMethod(furniture, "getData").Invoke <string[]>()?[0];

            this.Furniture   = furniture;
            this.Data        = ContainerData.FromModData(furniture.modData, defaultName);
            this.DefaultName = defaultName;

            StorageFurnitureContainer.DresserCategories ??= new HashSet <int>(new ShopMenu(new List <ISalable>(), context: "Dresser").categoriesToSellHere);
        }
コード例 #4
0
 public static bool StorageFurniture_DoAction_Prefix(StorageFurniture __instance, Farmer who, bool justCheckingForActivity)
 {
     return(ShouldCancel());
 }
コード例 #5
0
 private static void PrefixChestOpen(StorageFurniture __instance)
 => __instance.ClearNulls();