public VoxelAddress[] GetAllNeighbors(VoxelAddress This) { int num = 0; VoxelAddress[] voxelAddressArray = new VoxelAddress[26]; int num1 = -1; do { int num2 = -1; do { int num3 = -1; do { if (num1 == 0 & num2 == 0 & num3 == 0) { VoxelAddress @this = This + VoxelAddress.Create(num3, num2, num1); voxelAddressArray[num] = @this; num = checked (num + 1); } num3 = checked (num3 + 1); }while (num3 <= 1); num2 = checked (num2 + 1); }while (num2 <= 1); num1 = checked (num1 + 1); }while (num1 <= 1); return(voxelAddressArray); }
public T this[int X, int Y, int Z] { get { T t; T t1 = default(T); t = (!this._dict.TryGetValue(VoxelAddress.Create(X, Y, Z), out t1) ? default(T) : t1); return(t); } }
public VoxelAddress[] GetFaceNeighbors(VoxelAddress This) { int num = 2; VoxelAddress[] voxelAddressArray = new VoxelAddress[6]; int num1 = -1; do { VoxelAddress @this = This + VoxelAddress.Create(num1, 0, 0); voxelAddressArray[num] = @this; num = checked (num + 1); num1 = checked (num1 + 2); }while (num1 <= 1); num = 1; int num2 = -1; do { VoxelAddress voxelAddress = This + VoxelAddress.Create(0, num2, 0); voxelAddressArray[num] = voxelAddress; num = checked (num + 3); num2 = checked (num2 + 2); }while (num2 <= 1); num = 0; int num3 = -1; do { VoxelAddress this1 = This + VoxelAddress.Create(0, 0, num3); voxelAddressArray[num] = this1; num = checked (num + 5); num3 = checked (num3 + 2); }while (num3 <= 1); return(voxelAddressArray); }