Class Food
A furniture is an instance of a FurnitureType which is placed in the world, or in a PersonLike's hand. To register a custom furniture, use Register(TypeSettings).
public class Food : FoodTypedItem, IGenericDataHolder, IUpdatingObject
- Inheritance
-
JsonTypeSafeGenericDataHolderFood
- Implements
-
IGenericDataHolder
- Inherited Members
-
JsonTypeSafeGenericDataHolder.GetDataKeys()
- Extension Methods
Constructors
Food(Guid, FurnitureType, int[], Map, Vector2, float)
Creates a new furniture instance. By default, this is done using Construct<T>(int[], Map, Vector2, float, Guid?).
public Food(Guid id, FurnitureType type, int[] colors, Map map, Vector2 pos, float floor)
Parameters
id
GuidThe id to apply to the created furniture instance
type
FurnitureTypeThe type to create an instance of
colors
int[]The colors to apply to the furniture
map
MapThe map to create the furniture on
pos
Vector2The position that the furniture should have
floor
floatThe floor that this object is on.
Fields
FoodLeft
The amount of food that this food item has left. This value starts out at 100, so it represents a percentage.
[DataMember]
public float FoodLeft
Field Value
HasCandle
A field that stores whether this food item currently has candles on it. This is generally only set to true by the AddCandle action for cakes which have had no slices removed yet.
[DataMember(EmitDefaultValue = false)]
public bool HasCandle
Field Value
Methods
Draw(GameTime, object, Vector2, float, Vector2, Color?, Direction2, int[], float, bool, ParentInfo, float, List<Item>)
Draws this furniture in the world with the given settings. This is a more generalized version of Draw(GameTime, object, Vector2, Color?, List<Item>)
public override void Draw(GameTime time, object batch, Vector2 pos, float floor, Vector2 drawPos, Color? overrideColor, Direction2 rotation, int[] colors, float drawScale, bool pivot, ParentInfo parent, float depthOffset, List<StaticSpriteBatch.Item> items)
Parameters
time
GameTimeThe game time
batch
objectThe sprite batch to draw with, which is either a Microsoft.Xna.Framework.Graphics.SpriteBatch or MLEM.Graphics.StaticSpriteBatch.
pos
Vector2The position, in world space, that the furniture is at
floor
floatThe floor to draw at.
drawPos
Vector2The position, in draw space, to draw the furniture at
overrideColor
Color?An optional color to override the default colors of the furniture
rotation
Direction2The rotation that the furniture should be drawn with.
colors
int[]The colors to draw the furniture with
drawScale
floatThe scale to draw the furniture with
pivot
boolWhether or not to move the furniture by its texture's pivot point
parent
ParentInfoThe object that this furniture is latched on to, or null if there is none
depthOffset
floatA value that is added onto the calculated depth of the object
items
List<StaticSpriteBatch.Item>A list of sprite batch items that items should be added to if the
batch
is a MLEM.Graphics.StaticSpriteBatch.
GetDescription(List<string>, bool)
This method allows adding a set of strings to the description
list that get displayed when the object is hovered over in the build mode or household storage UIs.
By default, this method adds various strings related to the ElectricityRating, Quality, Creator, and also invokes the OnGetDescription event.
public override void GetDescription(List<string> description, bool forHoverInfo)
Parameters
description
List<string>The description to add to.
forHoverInfo
boolWhether this method is being called by GetHoverInfo(Tooltip) (or by build mode).
Update(GameTime, TimeSpan, float)
The update method, which is called every update frame by the underlying Map, as well as additional places like the FurnitureStorage. Because of this, some actions might only want to be invoked if an object IsInWorld. To call this method while invoking all required events, use DoUpdate(GameTime, TimeSpan, float).
public override void Update(GameTime time, TimeSpan passedInGame, float speedMultiplier)