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
PositionsRequirementContext
Assembly: Eco.Gameplay.dll
Syntax
public class PositionsRequirementContext : OccupancyContext
Constructors
PositionsRequirementContext(List<PositionsRequirement>)
Declaration
public PositionsRequirementContext(List<PositionsRequirement> positionsRequirements)
Parameters
Fields
PositionsRequirements
Declaration
public readonly List<PositionsRequirement> PositionsRequirements
Field Value
Methods
CanPlaceObject(Player, IPlaceableItem, Vector3, Quaternion)
Declaration
public override bool CanPlaceObject(Player player, IPlaceableItem item, Vector3 worldPos, Quaternion rotation)
Parameters
Returns
Type |
Description |
System.Boolean |
|
Overrides
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
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<ValResult<System.Boolean>> |
|
Overrides
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
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<Vector3i> |
|
Overrides
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
Returns
Type |
Description |
System.Collections.Generic.List<Vector3i> |
|
Overrides
Extension Methods