Exemple #1
0
 public static Vector3int Cross(Vector3int v1, Vector3int v2)
 {
     return(new Vector3int(
                v1.y * v2.z - v1.z * v2.y,
                v1.z * v2.x - v1.x * v2.z,
                v1.x * v2.y - v1.y * v2.x));
 }
Exemple #2
0
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (!(obj is Vector3int))
            {
                return(false);
            }

            Vector3int p = (Vector3int)obj;

            if ((System.Object)p == null)
            {
                return(false);
            }

            if (x != p.x)
            {
                return(false);
            }
            if (y != p.y)
            {
                return(false);
            }
            if (z != p.z)
            {
                return(false);
            }
            return(true);
        }
Exemple #3
0
        public static Vector3int[] QuadBetween(Vector3int first, Vector3int second)
        {
            var array  = new Vector3int[2];
            var offset = second - first;

            array[0] = first + new Vector3int(offset.x, 0, 0);
            array[1] = first + new Vector3int(0, 0, offset.z);
            return(array);
        }
Exemple #4
0
        public        Vector3int[] SurroundingPlanar4Diagonal()
        {
            var surr = new Vector3int[4];

            surr[0] = this + left + forward;
            surr[1] = this + left + back;
            surr[2] = this + right + forward;
            surr[3] = this + right + back;
            return(surr);
        }
Exemple #5
0
        public        Vector3int[] SurroundingPlanar8()
        {
            var surr = new Vector3int[8];

            surr[0] = this + left;
            surr[1] = this + right;
            surr[2] = this + forward;
            surr[3] = this + back;
            surr[4] = this + left + forward;
            surr[5] = this + left + back;
            surr[6] = this + right + forward;
            surr[7] = this + right + back;
            return(surr);
        }
Exemple #6
0
        //public Vector3int[] Neighbours { get { return VoxelMap.GetPathableNeighbors(this); } }
        static Vector3int()
        {
            zero = new Vector3int(0, 0, 0);
            up = new Vector3int(0, 1, 0);
            down = new Vector3int(0, -1, 0);
            left = new Vector3int(-1, 0, 0);
            right = new Vector3int(1, 0, 0);
            forward = new Vector3int(0, 0, 1);
            back = new Vector3int(0, 0, -1);
            one = new Vector3int(1, 1, 1);

            direction = new Dictionary<Cardinal, Vector3int>();
            compass = new Dictionary<Vector3int, Cardinal>();
            direction[Cardinal.North] = forward;
            direction[Cardinal.South] = back;
            direction[Cardinal.East] = left;
            direction[Cardinal.West] = right;
            foreach(var pair in direction) compass[pair.Value] = pair.Key;
        }
Exemple #7
0
        //public Vector3int[] Neighbours { get { return VoxelMap.GetPathableNeighbors(this); } }
        static Vector3int()
        {
            zero    = new Vector3int(0, 0, 0);
            up      = new Vector3int(0, 1, 0);
            down    = new Vector3int(0, -1, 0);
            left    = new Vector3int(-1, 0, 0);
            right   = new Vector3int(1, 0, 0);
            forward = new Vector3int(0, 0, 1);
            back    = new Vector3int(0, 0, -1);
            one     = new Vector3int(1, 1, 1);

            direction = new Dictionary <Cardinal, Vector3int>();
            compass   = new Dictionary <Vector3int, Cardinal>();
            direction[Cardinal.North] = forward;
            direction[Cardinal.South] = back;
            direction[Cardinal.East]  = left;
            direction[Cardinal.West]  = right;
            foreach (var pair in direction)
            {
                compass[pair.Value] = pair.Key;
            }
        }
Exemple #8
0
 public static int BlockDistance(Vector3int a, Vector3int b)
 {
     return(Math.Abs(a.x - b.x) + Math.Abs(a.y - b.y) + Math.Abs(a.z - b.z));
 }
Exemple #9
0
 public static Vector3int Cross(Vector3int v1, Vector3int v2)
 {
     return new Vector3int(
         v1.y * v2.z - v1.z * v2.y,
         v1.z * v2.x - v1.x * v2.z,
         v1.x * v2.y - v1.y * v2.x);
 }
Exemple #10
0
 public Vector3int[] SurroundingPlanar8()
 {
     var surr = new Vector3int[8];
     surr[0] = this + left;
     surr[1] = this + right;
     surr[2] = this + forward;
     surr[3] = this + back;
     surr[4] = this + left + forward;
     surr[5] = this + left + back;
     surr[6] = this + right + forward;
     surr[7] = this + right + back;
     return surr;
 }
Exemple #11
0
 public Vector3int[] SurroundingPlanar4Diagonal()
 {
     var surr = new Vector3int[4];
     surr[0] = this + left + forward;
     surr[1] = this + left + back;
     surr[2] = this + right + forward;
     surr[3] = this + right + back;
     return surr;
 }
Exemple #12
0
 public static int SquareDistance(Vector3int a, Vector3int b)
 {
     return (a.x - b.x).Squared() + (a.y - b.y).Squared() + (a.z - b.z).Squared();
 }
Exemple #13
0
 public static Vector3int[] QuadBetween(Vector3int first, Vector3int second)
 {
     var array = new Vector3int[2];
     var offset = second - first;
     array[0] = first + new Vector3int(offset.x, 0, 0);
     array[1] = first + new Vector3int(0, 0, offset.z);
     return array;
 }
Exemple #14
0
 public static Vector2int FromVector3intXZ(Vector3int v3)
 {
     return(new Vector2int(v3.x, v3.z));
 }
Exemple #15
0
 public static int SquareDistance(Vector3int a, Vector3int b)
 {
     return((a.x - b.x).Squared() + (a.y - b.y).Squared() + (a.z - b.z).Squared());
 }
Exemple #16
0
 public static Vector2int FromVector3intXZ(Vector3int v3)
 {
     return new Vector2int(v3.x, v3.z);
 }
Exemple #17
0
 public static int BlockDistance(Vector3int a, Vector3int b)
 {
     return Math.Abs(a.x - b.x) + Math.Abs(a.y - b.y) + Math.Abs(a.z - b.z);
 }