示例#1
0
        /// <summary>Raised after items are added or removed to a player's inventory.</summary>
        /// <param name="sender">The event sender.</param>
        /// <param name="e">The event arguments.</param>
        private static void OnInventoryChanged(object sender, InventoryChangedEventArgs e)
        {
            // replace mod items
            if (e.IsLocalPlayer)
            {
                IList <Item> inventory = Game1.player.Items;

                for (int i = 0; i < inventory.Count; ++i)
                {
                    var item = inventory[i];
                    if (item == null)
                    {
                        continue;
                    }

                    if (item.ParentSheetIndex == CobaltSprinklerObject.INDEX && !(item is CobaltSprinklerObject))
                    {
                        inventory[i] = new CobaltSprinklerObject();
                    }
                    else
                    {
                        continue;
                    }

                    Log.trace("Replacing a vanilla instance of custom item with my own. (Inventory)");
                    inventory[i].Stack = item.Stack;
                }
            }
        }
示例#2
0
 /// <summary>Get the cobalt sprinkler coverage.</summary>
 /// <param name="origin">The tile position containing the sprinkler.</param>
 public IEnumerable <Vector2> GetSprinklerCoverage(Vector2 origin)
 {
     return(CobaltSprinklerObject.GetCoverage(Vector2.Zero));
 }