Show / Hide Table of Contents

Class WorldPosition3i

Inheritance
System.Object
WorldPosition3i
Implements
System.IComparable
System.IComparable<System.Int32>
System.IEquatable<WorldPosition3i>
Namespace: Eco.Shared.Math
Assembly: Eco.Shared.dll
Syntax
public sealed class WorldPosition3i : ValueType, IComparable, IComparable<int>, IEquatable<WorldPosition3i>

Constructors

WorldPosition3i(Vector3i)

Declaration
public WorldPosition3i(Vector3i vec)
Parameters
Type Name Description
Vector3i vec

WorldPosition3i(Int32, Int32)

Declaration
public WorldPosition3i(int x, int z)
Parameters
Type Name Description
System.Int32 x
System.Int32 z

WorldPosition3i(Int32, Int32, Int32)

Declaration
public WorldPosition3i(int x, int y, int z)
Parameters
Type Name Description
System.Int32 x
System.Int32 y
System.Int32 z

Fields

Invalid

Declaration
public static readonly WorldPosition3i Invalid
Field Value
Type Description
WorldPosition3i

MaxWorldHeight

Declaration
public const int MaxWorldHeight = 160
Field Value
Type Description
System.Int32

MaxWorldHeightForCurrentWorldSize

Declaration
public static int MaxWorldHeightForCurrentWorldSize
Field Value
Type Description
System.Int32

Properties

A2DIndex

Declaration
public int A2DIndex { get; }
Property Value
Type Description
System.Int32

IsValid

Declaration
public bool IsValid { get; }
Property Value
Type Description
System.Boolean

MaxChunkY

Declaration
public static int MaxChunkY { get; }
Property Value
Type Description
System.Int32

X

Declaration
public int X { get; set; }
Property Value
Type Description
System.Int32

XZ

Declaration
public Vector2i XZ { get; }
Property Value
Type Description
Vector2i

Y

Declaration
public int Y { get; set; }
Property Value
Type Description
System.Int32

Z

Declaration
public int Z { get; set; }
Property Value
Type Description
System.Int32

Methods

AddX(Int32)

Declaration
public WorldPosition3i AddX(int val)
Parameters
Type Name Description
System.Int32 val
Returns
Type Description
WorldPosition3i

AddZ(Int32)

Declaration
public WorldPosition3i AddZ(int val)
Parameters
Type Name Description
System.Int32 val
Returns
Type Description
WorldPosition3i

CompareTo(Int32)

Declaration
public int CompareTo(int value)
Parameters
Type Name Description
System.Int32 value
Returns
Type Description
System.Int32

CompareTo(Object)

Declaration
public int CompareTo(object value)
Parameters
Type Name Description
System.Object value
Returns
Type Description
System.Int32

Distance(WorldPosition3i, WorldPosition3i)

Declaration
public static float Distance(WorldPosition3i a, WorldPosition3i b)
Parameters
Type Name Description
WorldPosition3i a
WorldPosition3i b
Returns
Type Description
System.Single

DistanceSq(WorldPosition3i, WorldPosition3i)

Declaration
public static int DistanceSq(WorldPosition3i a, WorldPosition3i b)
Parameters
Type Name Description
WorldPosition3i a
WorldPosition3i b
Returns
Type Description
System.Int32

Equals(WorldPosition3i)

Declaration
public bool Equals(WorldPosition3i other)
Parameters
Type Name Description
WorldPosition3i other
Returns
Type Description
System.Boolean

Equals(Object)

Declaration
public override bool Equals(object other)
Parameters
Type Name Description
System.Object other
Returns
Type Description
System.Boolean

FromWrapped(Vector3i)

Creates WorldPosition3i from pre-wrapped position. Be careful when use this method, if used with unwrapped value may return wrong position.

Declaration
public static WorldPosition3i FromWrapped(Vector3i wrapped)
Parameters
Type Name Description
Vector3i wrapped
Returns
Type Description
WorldPosition3i

FromWrapped(Int32, Int32, Int32)

Creates WorldPosition3i from pre-wrapped position. Be careful when use this method, if used with unwrapped value may return wrong position.

Declaration
public static WorldPosition3i FromWrapped(int x, int y, int z)
Parameters
Type Name Description
System.Int32 x
System.Int32 y
System.Int32 z
Returns
Type Description
WorldPosition3i

GetDelta(WorldPosition3i, WorldPosition3i)

Declaration
public static Vector3i GetDelta(WorldPosition3i to, WorldPosition3i from)
Parameters
Type Name Description
WorldPosition3i to
WorldPosition3i from
Returns
Type Description
Vector3i

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32

Initialize(Vector3i)

Declaration
public static void Initialize(Vector3i worldSize)
Parameters
Type Name Description
Vector3i worldSize

SpiralOutXZIter(Int32)

Declaration
public IEnumerable<WorldPosition3i> SpiralOutXZIter(int size)
Parameters
Type Name Description
System.Int32 size
Returns
Type Description
System.Collections.Generic.IEnumerable<WorldPosition3i>

ToString()

Declaration
public override string ToString()
Returns
Type Description
System.String

TryAddY(Int32, out WorldPosition3i)

Declaration
public bool TryAddY(int val, out WorldPosition3i newPos)
Parameters
Type Name Description
System.Int32 val
WorldPosition3i newPos
Returns
Type Description
System.Boolean

TryCreate(Vector3i, out WorldPosition3i)

Declaration
public static bool TryCreate(Vector3i pos, out WorldPosition3i worldPosition)
Parameters
Type Name Description
Vector3i pos
WorldPosition3i worldPosition
Returns
Type Description
System.Boolean

TryCreate(Int32, Int32, Int32, out WorldPosition3i)

Declaration
public static bool TryCreate(int x, int y, int z, out WorldPosition3i worldPosition)
Parameters
Type Name Description
System.Int32 x
System.Int32 y
System.Int32 z
WorldPosition3i worldPosition
Returns
Type Description
System.Boolean

TryCreate(Vector3, out WorldPosition3i)

Declaration
public static bool TryCreate(Vector3 pos, out WorldPosition3i worldPosition)
Parameters
Type Name Description
System.Numerics.Vector3 pos
WorldPosition3i worldPosition
Returns
Type Description
System.Boolean

TryCreateWrapped(Vector3i, out WorldPosition3i)

Tries to create WorldPosition3i from pre-wrapped position, but with potentially out-of-world-grid-bounds Y. When used with unwrapped X and Z will result in invalid position.

Declaration
public static bool TryCreateWrapped(Vector3i wrapped, out WorldPosition3i worldPosition)
Parameters
Type Name Description
Vector3i wrapped
WorldPosition3i worldPosition
Returns
Type Description
System.Boolean

TryCreateWrapped(Int32, Int32, Int32, out WorldPosition3i)

Tries to create WorldPosition3i from pre-wrapped position, but with potentially out-of-world-grid-bounds Y. When used with unwrapped X and Z will result in invalid position.

Declaration
public static bool TryCreateWrapped(int wrappedX, int y, int wrappedZ, out WorldPosition3i worldPosition)
Parameters
Type Name Description
System.Int32 wrappedX
System.Int32 y
System.Int32 wrappedZ
WorldPosition3i worldPosition
Returns
Type Description
System.Boolean

WorldXZIter(Int32)

Declaration
public static IEnumerable<WorldPosition3i> WorldXZIter(int y = 0)
Parameters
Type Name Description
System.Int32 y
Returns
Type Description
System.Collections.Generic.IEnumerable<WorldPosition3i>

X_Z()

Declaration
public WorldPosition3i X_Z()
Returns
Type Description
WorldPosition3i

X_Z(Int32)

Declaration
public WorldPosition3i X_Z(int y)
Parameters
Type Name Description
System.Int32 y
Returns
Type Description
WorldPosition3i

XZFullNeighbors(out WorldPosition3i, out WorldPosition3i, out WorldPosition3i, out WorldPosition3i, out WorldPosition3i, out WorldPosition3i, out WorldPosition3i, out WorldPosition3i)

Get all neighbors available for pathfinding

Declaration
public void XZFullNeighbors(out WorldPosition3i n, out WorldPosition3i ne, out WorldPosition3i e, out WorldPosition3i se, out WorldPosition3i s, out WorldPosition3i sw, out WorldPosition3i w, out WorldPosition3i nw)
Parameters
Type Name Description
WorldPosition3i n
WorldPosition3i ne
WorldPosition3i e
WorldPosition3i se
WorldPosition3i s
WorldPosition3i sw
WorldPosition3i w
WorldPosition3i nw

XZJumpNeighbors(out WorldPosition3i, out WorldPosition3i, out WorldPosition3i, out WorldPosition3i)

Jump is only allowed in 4 directions from one 3x3 block to another. This returns all four neighbors to jump

Declaration
public void XZJumpNeighbors(out WorldPosition3i n, out WorldPosition3i e, out WorldPosition3i s, out WorldPosition3i w)
Parameters
Type Name Description
WorldPosition3i n
WorldPosition3i e
WorldPosition3i s
WorldPosition3i w

XZNeighbors()

Declaration
public WorldPosition3i[] XZNeighbors()
Returns
Type Description
WorldPosition3i[]

Operators

Equality(WorldPosition3i, WorldPosition3i)

Declaration
public static bool operator ==(WorldPosition3i a, WorldPosition3i b)
Parameters
Type Name Description
WorldPosition3i a
WorldPosition3i b
Returns
Type Description
System.Boolean

Explicit(WorldPosition3i to Vector2)

Declaration
public static explicit operator Vector2(WorldPosition3i w)
Parameters
Type Name Description
WorldPosition3i w
Returns
Type Description
Vector2

Explicit(WorldPosition3i to Vector2i)

Declaration
public static explicit operator Vector2i(WorldPosition3i w)
Parameters
Type Name Description
WorldPosition3i w
Returns
Type Description
Vector2i

Explicit(WorldPosition3i to Vector3i)

Declaration
public static explicit operator Vector3i(WorldPosition3i w)
Parameters
Type Name Description
WorldPosition3i w
Returns
Type Description
Vector3i

Explicit(WorldPosition3i to Int32)

Declaration
public static explicit operator int (WorldPosition3i vec)
Parameters
Type Name Description
WorldPosition3i vec
Returns
Type Description
System.Int32

Explicit(WorldPosition3i to Vector3)

Declaration
public static explicit operator Vector3(WorldPosition3i w)
Parameters
Type Name Description
WorldPosition3i w
Returns
Type Description
System.Numerics.Vector3

Explicit(Int32 to WorldPosition3i)

Declaration
public static explicit operator WorldPosition3i(int i)
Parameters
Type Name Description
System.Int32 i
Returns
Type Description
WorldPosition3i

Inequality(WorldPosition3i, WorldPosition3i)

Declaration
public static bool operator !=(WorldPosition3i a, WorldPosition3i b)
Parameters
Type Name Description
WorldPosition3i a
WorldPosition3i b
Returns
Type Description
System.Boolean

Implements

System.IComparable
System.IComparable<>
System.IEquatable<>

Extension Methods

CommandLine.FeedFromCommandLine(Object)
CommandLine.ToCommandLineArgs(Object, Func<Object, Boolean>)
ListUtil.DepthFirstTraversal<T>(T, Func<T, IEnumerable<T>>)
EnumerableExtensions.SingleItemAsEnumerable<T>(T)
EventUtils.RaiseEvent<TEventArgs>(Object, String, TEventArgs)
PredicateUtils.MatchesAll<TEnumerable, T>(T, TEnumerable)
PredicateUtils.MatchesAll<T>(T, Func<T, Boolean>[])
PredicateUtils.MatchesAny<TEnumerable, T>(T, TEnumerable)
ReflectionUtils.PropertyValue<T>(Object, PropertyInfo)
ReflectionUtils.TryGetPropertyValueByName<T>(Object, String, out T)
ReflectionUtils.GetPropertyValueByName<T>(Object, String)
ReflectionUtils.SetPropertyByName(Object, String, Object)
ReflectionUtils.GetStructPropertyByName<T>(Object, String)
ReflectionUtils.GetStringPropertyByName(Object, String)
ReflectionUtils.ZipByProperty<T>(Object, Object, Object, Func<T, T, T>)
☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾