Show / Hide Table of Contents

Class PositionsRequirementContext

Given a list of positions requirements it checks for each one to be valid, this means evaluating all of their positions by their requirement, such as being placed on solid ground, water, empty space.

Inheritance
System.Object
OccupancyContext
PositionsRequirementContext
Namespace: Eco.Gameplay.Occupancy
Assembly: Eco.Gameplay.dll
Syntax
public class PositionsRequirementContext : OccupancyContext

Constructors

PositionsRequirementContext(List<PositionsRequirement>)

Declaration
public PositionsRequirementContext(List<PositionsRequirement> positionsRequirements)
Parameters
Type Name Description
System.Collections.Generic.List<PositionsRequirement> positionsRequirements

Fields

PositionsRequirements

Declaration
public readonly List<PositionsRequirement> PositionsRequirements
Field Value
Type Description
System.Collections.Generic.List<PositionsRequirement>

Methods

CanPlaceObject(Player, IPlaceableItem, Vector3, Quaternion)

Declaration
public override bool CanPlaceObject(Player player, IPlaceableItem item, Vector3 worldPos, Quaternion rotation)
Parameters
Type Name Description
Player player
IPlaceableItem item
System.Numerics.Vector3 worldPos
Quaternion rotation
Returns
Type Description
System.Boolean
Overrides
OccupancyContext.CanPlaceObject(Player, IPlaceableItem, Vector3, Quaternion)

CurrentPlacementStatus(Vector3i, Quaternion)

Evaluates each position requirements and returns it's current status as to whether is valid or not

Declaration
public override IEnumerable<ValResult<bool>> CurrentPlacementStatus(Vector3i worldPos, Quaternion rotation)
Parameters
Type Name Description
Vector3i worldPos
Quaternion rotation
Returns
Type Description
System.Collections.Generic.IEnumerable<ValResult<System.Boolean>>
Overrides
OccupancyContext.CurrentPlacementStatus(Vector3i, Quaternion)

GetRelevantChunkPositions(Vector3i, Quaternion)

Returns the chunks where all of the positions from the positions requirements are found

Declaration
public override IEnumerable<Vector3i> GetRelevantChunkPositions(Vector3i worldPos, Quaternion rotation)
Parameters
Type Name Description
Vector3i worldPos
Quaternion rotation
Returns
Type Description
System.Collections.Generic.IEnumerable<Vector3i>
Overrides
OccupancyContext.GetRelevantChunkPositions(Vector3i, Quaternion)

GetSurfaceUnavailablePositions(Vector3i, Quaternion)

Returns all invalid positions which didn't met their respective requirement. e.g water, empty space, solid ground etc.

Declaration
public override List<Vector3i> GetSurfaceUnavailablePositions(Vector3i worldPos, Quaternion rotation)
Parameters
Type Name Description
Vector3i worldPos
Quaternion rotation
Returns
Type Description
System.Collections.Generic.List<Vector3i>
Overrides
OccupancyContext.GetSurfaceUnavailablePositions(Vector3i, Quaternion)

Extension Methods

TagUtils.TagNames(Object, Boolean)
TagUtils.TagDisplayNames(Object, Boolean)
ClientSetViewExtensions.SetClassOfProperty(Object, Player, String, String, Int32)
TypeTooltipExtensions.UILinkGeneric(Object)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾