Class ObjectSpawner
public class ObjectSpawner : Furniture, IGenericDataHolder, IUpdatingObject
- Inheritance
-
JsonTypeSafeGenericDataHolderObjectSpawner
- Implements
-
IGenericDataHolder
- Inherited Members
-
Furniture.OnRandomQuality(PersonLike, ActionInfo, bool, SkillType, bool, Dictionary<Quality, float>)JsonTypeSafeGenericDataHolder.GetDataKeys()
- Extension Methods
Constructors
ObjectSpawner(Guid, FurnitureType, int[], Map, Vector2, float)
public ObjectSpawner(Guid id, FurnitureType type, int[] colors, Map map, Vector2 pos, float floor)
Parameters
idGuidtypeFurnitureTypecolorsint[]mapMapposVector2floorfloat
Fields
RangeIndex
[DataMember]
public int RangeIndex
Field Value
SpawnerType
[DataMember]
public SpawnerType SpawnerType
Field Value
Properties
HideFromDraw
Returns whether this object should currently be hidden from drawing.
public override bool HideFromDraw { get; }
Property Value
Range
public int Range { get; }
Property Value
SpawnArea
public RectangleF SpawnArea { get; }
Property Value
- RectangleF
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. When overriding this method, furniture objects should use DrawColumns(Map, Vector2, float, object, Vector2, TextureRegion, Color, Vector2, Point, List<Item>, bool, ParentInfo, float, SpriteEffects, bool) for drawing their textures or alternatively manually calculate the depth to draw with using GetDepth(Vector2, float, float, bool, bool, bool). 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
timeGameTimeThe game time
batchobjectThe sprite batch to draw with, which is either a Microsoft.Xna.Framework.Graphics.SpriteBatch or MLEM.Graphics.StaticSpriteBatch.
posVector2The position, in world space, that the furniture is at
floorfloatThe floor to draw at.
drawPosVector2The position, in draw space, to draw the furniture at
overrideColorColor?An optional color to override the default colors of the furniture
rotationDirection2The rotation that the furniture should be drawn with.
colorsint[]The colors to draw the furniture with
drawScalefloatThe scale to draw the furniture with
pivotboolWhether or not to move the furniture by its texture's pivot point
parentParentInfoThe object that this furniture is latched on to, or null if there is none
depthOffsetfloatA value that is added onto the calculated depth of the object
itemsList<StaticSpriteBatch.Item>A list of sprite batch items that items should be added to if the
batchis a MLEM.Graphics.StaticSpriteBatch.
GetDebugLines(GameImpl, List<string>)
Returns the debug lines that should be displayed in Debug when hovering over this object. By default, OnGetDebugLines is invoked, and the id and position of this object are appended to the list of lines.
public override void GetDebugLines(GameImpl game, List<string> lines)
Parameters
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
descriptionList<string>The description to add to.
forHoverInfoboolWhether this method is being called by GetHoverInfo(Tooltip) (or by build mode).
ResetToStatic(bool, bool)
Resets this map object to a static state when the Map that is on is exported.
public override bool ResetToStatic(bool thorough, bool custom)
Parameters
thoroughboolWhether a more thorough reset is expected, which usually involves normalizing additional data and cleaning up player data entirely. This is true when a map with this object on it is exported, as well as when households are exported for official usage in the game.
customboolWhether the static reset is happening in a custom context, that is, a Household being exported normally rather than through cheats, or a custom Map being exported.
Returns
- bool
Whether this object should stay on the map after the static reset. If false is returned, this object is removed.
Spawn()
public void Spawn()
Validate(AppliedMigrations)
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(AppliedMigrations appliedMigrations)
Parameters
appliedMigrationsAppliedMigrations
Returns
- bool
false if the object is not valid, true otherwise
Events
OnSpawnChoices
public event Action<List<(SpawnerType.SpawnerDelegate Spawn, float Weight)>> OnSpawnChoices