Beispiel #1
0
        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);
        }
Beispiel #2
0
 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);
     }
 }
Beispiel #3
0
        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);
        }