Class WrappedWorldPositionExtensions
Extension methods for wrapped world positions.
Inheritance
System.Object
WrappedWorldPositionExtensions
Assembly: Eco.Shared.dll
Syntax
public static class WrappedWorldPositionExtensions : Object
Methods
Add<TPosition>(TPosition, Direction, Int32)
Declaration
public static TPosition Add<TPosition>(this TPosition position, Direction dir, int count)
where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Direction |
dir |
|
System.Int32 |
count |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
Add<TPosition>(TPosition, Vector3i)
Declaration
public static TPosition Add<TPosition>(this TPosition position, Vector3i delta)
where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Vector3i |
delta |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
Add<TPosition>(TPosition, Int32, Int32, Int32)
Declaration
public static TPosition Add<TPosition>(this TPosition position, int dx, int dy, int dz)
where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
System.Int32 |
dx |
|
System.Int32 |
dy |
|
System.Int32 |
dz |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
AddX<TPosition>(TPosition, Int32)
Declaration
public static TPosition AddX<TPosition>(this TPosition position, int dx)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
System.Int32 |
dx |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
AddY<TPosition>(TPosition, Int32)
Declaration
public static TPosition AddY<TPosition>(this TPosition position, int dy)
where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
System.Int32 |
dy |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
AddZ<TPosition>(TPosition, Int32)
Declaration
public static TPosition AddZ<TPosition>(this TPosition position, int dz)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
System.Int32 |
dz |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
DecrementX<TPosition>(TPosition)
Declaration
public static TPosition DecrementX<TPosition>(this TPosition position)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
DecrementY<TPosition>(TPosition)
Declaration
public static TPosition DecrementY<TPosition>(this TPosition position)
where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
DecrementZ<TPosition>(TPosition)
Declaration
public static TPosition DecrementZ<TPosition>(this TPosition position)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
IncrementX<TPosition>(TPosition)
Declaration
public static TPosition IncrementX<TPosition>(this TPosition position)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
IncrementY<TPosition>(TPosition)
Declaration
public static TPosition IncrementY<TPosition>(this TPosition position)
where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
IncrementZ<TPosition>(TPosition)
Declaration
public static TPosition IncrementZ<TPosition>(this TPosition position)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Returns
Type |
Description |
TPosition |
|
Type Parameters
Name |
Description |
TPosition |
|
StepToInc<TPosition>(TPosition, TPosition, Direction)
Returns enumerable of positions from current position
to other
with provided dir
. Be aware if dir
is wrong then position may never be reached!
Declaration
public static IEnumerable<TPosition> StepToInc<TPosition>(this TPosition position, TPosition other, Direction dir)
where TPosition : IWrappedPosition3WithUnboundedY<int>, IPosition3Factory<TPosition, int>, IEquatable<TPosition>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
TPosition |
other |
|
Direction |
dir |
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<TPosition> |
|
Type Parameters
Name |
Description |
TPosition |
|
TryAdd<TPosition>(TPosition, Int32, Int32, Int32, out TPosition)
Declaration
public static bool TryAdd<TPosition>(this TPosition position, int dx, int dy, int dz, out TPosition newPosition)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
System.Int32 |
dx |
|
System.Int32 |
dy |
|
System.Int32 |
dz |
|
TPosition |
newPosition |
|
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TPosition |
|
TryAddY<TPosition>(TPosition, Int32, out TPosition)
Declaration
public static bool TryAddY<TPosition>(this TPosition position, int dy, out TPosition newPosition)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
System.Int32 |
dy |
|
TPosition |
newPosition |
|
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TPosition |
|
TryDecrementY<TPosition>(TPosition, out TPosition)
Declaration
public static bool TryDecrementY<TPosition>(this TPosition position, out TPosition newPosition)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
TPosition |
newPosition |
|
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TPosition |
|
TryIncrementY<TPosition>(TPosition, out TPosition)
Declaration
public static bool TryIncrementY<TPosition>(this TPosition position, out TPosition newPosition)
where TPosition : IWrappedPosition3<int>, IPosition3Factory<TPosition, int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
TPosition |
newPosition |
|
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TPosition |
|
WrappedDifference<T>(T, T)
Calculates wrapped difference between a
and b
.
I.e. for world size (100, 100, 80):
- (10, 10, 10).WrappedDelta(20, 20, 20) -> (-10, -10, -10)
- (10, 10, 10).WrappedDelta(60, 20, 60) -> (-50, -10, -30)
- (10, 10, 10).WrappedDelta(60, 20, 60) -> (-50, -10, -50)
Declaration
public static Vector3i WrappedDifference<T>(this T a, T b)
where T : IWrappedPosition3<int>
Parameters
Type |
Name |
Description |
T |
a |
|
T |
b |
|
Returns
Type Parameters
WrappedDistanceSq<T>(T, T)
Calculates wrapped distance (squared) between a
and b
.
Declaration
public static int WrappedDistanceSq<T>(this T a, T b)
where T : IWrappedPosition3<int>
Parameters
Type |
Name |
Description |
T |
a |
|
T |
b |
|
Returns
Type |
Description |
System.Int32 |
|
Type Parameters
XZWrappedNeighborsRay<TPosition>(TPosition)
Returns enumerable of XZ rays in wrapped space.
Declaration
public static Ray[] XZWrappedNeighborsRay<TPosition>(this TPosition position)
where TPosition : IWrappedPosition3<int>
Parameters
Type |
Name |
Description |
TPosition |
position |
|
Returns
Type Parameters
Name |
Description |
TPosition |
|