Class OccupancyContext
A class that contains the definitions of methods needed for placement related stuff, such as trying to place an object, which positions are invalid when placing an object,
which chunks does the placement affect, the current placement status of an object already placed.
More detailed information can be found here: https://github.com/StrangeLoopGames/Eco/wiki/Occupancy-System.
Inheritance
System.Object
OccupancyContext
Assembly: Eco.Gameplay.dll
Syntax
public abstract class OccupancyContext : Object
Constructors
OccupancyContext()
Declaration
protected OccupancyContext()
Methods
CanPlaceObject(Player, IPlaceableItem, Vector3, Quaternion)
Declaration
public abstract bool CanPlaceObject(Player player, IPlaceableItem item, Vector3 worldPos, Quaternion rotation)
Parameters
Returns
Type |
Description |
System.Boolean |
|
CurrentPlacementStatus(Vector3i, Quaternion)
Evaluates if the the current world object placement is valid, and their respetive message status e.g Placed on solid ground.
Declaration
public virtual IEnumerable<ValResult<bool>> CurrentPlacementStatus(Vector3i worldPos, Quaternion rotation)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<ValResult<System.Boolean>> |
|
GetRelevantChunkPositions(Vector3i, Quaternion)
Returns the chunks touched by world object occupancy
Declaration
public abstract IEnumerable<Vector3i> GetRelevantChunkPositions(Vector3i worldPos, Quaternion rotation)
Parameters
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<Vector3i> |
|
GetSurfaceUnavailablePositions(Vector3i, Quaternion)
Returns a list of positions that are invalid when placing an object, e.g holding a workbench and trying to place it above empty space
Declaration
public abstract List<Vector3i> GetSurfaceUnavailablePositions(Vector3i worldPos, Quaternion rotation)
Parameters
Returns
Type |
Description |
System.Collections.Generic.List<Vector3i> |
|
Extension Methods