A fence is a furniture used by things like CountryFence that auto-connects similarly to CornerFurniture, but by actually adding additional connection textures onto the regular object textures
public class Fence : Furniture, IGenericDataHolder
- Inherited Members
MapObject.DrawColumns(Map, Vector2, object, Vector2, TextureRegion, Color, float, Point, List<StaticSpriteBatch.Item>, bool, ParentInfo, float, SpriteEffects, bool, bool, bool)JsonTypeSafeGenericDataHolder.GetDataKeys()
- Extension Methods
Fence(Guid, FurnitureType, int, Map, Vector2)
Creates a new furniture instance. By default, this is done using Construct<T>(int, Map, Vector2, Guid?).
public Fence(Guid id, FurnitureType type, int colors, Map map, Vector2 pos)
The id to apply to the created furniture instance
The type to create an instance of
The colors to apply to the furniture
The map to create the furniture on
The position that the furniture should have
Draw(GameTime, object, Vector2, Vector2, Color?, Direction2, int, float, bool, ParentInfo, float, bool, 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, Vector2 drawPos, Color? overrideColor, Direction2 rotation, int colors, float drawScale, bool pivot, ParentInfo parent, float depthOffset, bool held, List<StaticSpriteBatch.Item> items)
The game time
The sprite batch to draw with, which is either a Microsoft.Xna.Framework.Graphics.SpriteBatch or MLEM.Graphics.StaticSpriteBatch.
The position, in world space, that the furniture is at
The position, in draw space, to draw the furniture at
An optional color to override the default colors of the furniture
The rotation of the furniture
The colors to draw the furniture with
The scale to draw the furniture with
Whether or not to move the furniture by its texture's pivot point
The object that this furniture is latched on to, or null if there is none
A value that is added onto the calculated depth of the object
Whether or not this item is currently being held by a Person
A list of sprite batch items that items should be added to if the
batchis a MLEM.Graphics.StaticSpriteBatch.
This method gets called when any neighboring furniture changes in NotifyNeighbors(). The neighboring furniture is passed. By default, this method does nothing, so calling base is not necessary.
protected override void OnNeighborChanged(Furniture neighbor)
The neighbor furniture that changed
This method returns whether this furniture instance should connect to the
By default, this is only true if the FurnitureType is the same.
protected virtual bool ShouldConnectTo(Furniture neighbor)
The neighbor furniture
Whether they should connect
This method is called when this object is loaded from disk. Returning false on this method causes the object to be removed from the map. By default, this method invokes OnValidated and OnEventsAttachable.
public override bool Validate()
false if the object is not valid, true otherwise