Skip to content

Instantly share code, notes, and snippets.

@NimbusFox
Created April 2, 2018 00:54

Revisions

  1. NimbusFox created this gist Apr 2, 2018.
    77 changes: 77 additions & 0 deletions Tile.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,77 @@
    Tile? cT = null;

    if ((x == cube.Start.X || x == cube.End.X) && (z == cube.Start.Z || z == cube.End.Z)) {
    cT = tiles.Line.Y;
    }

    if (z == cube.Start.Z || z == cube.End.Z) {
    if (cT == null) {
    cT = tiles.Line.Z;
    } else {
    if (z == cube.Start.Z) {
    if (y == cube.Start.Y) {
    cT = tiles.L.Up.Z;
    } else if (y == cube.End.Y) {
    cT = tiles.L.Down.Z;
    }
    } else if (z == cube.End.Z) {
    if (y == cube.Start.Y) {
    cT = tiles.L.Up.NZ;
    } else if (y == cube.End.Y) {
    cT = tiles.L.Down.NZ;
    }
    }
    }
    }

    if (x == cube.Start.X || x == cube.End.X) {
    if (cT == null) {
    cT = tiles.Line.X;
    } else {
    if (x == cube.Start.X) {
    if (cT == tiles.Line.Y) {
    if (y == cube.Start.Y) {
    cT = tiles.L.Up.X;
    } else if (y == cube.End.Y) {
    cT = tiles.L.Down.X;
    }
    } else if (cT == tiles.Line.Z) {
    if (z == cube.Start.Z) {
    cT = tiles.L.Side.NE;
    } else if (z == cube.End.Z) {
    cT = tiles.L.Side.SW;
    }
    } else if (cT == tiles.L.Up.Z) {
    cT = tiles.Corner.Up.NE;
    } else if (cT == tiles.L.Down.Z) {
    cT = tiles.Corner.Down.NE;
    } else if (cT == tiles.L.Up.NZ) {
    cT = tiles.Corner.Up.WN;
    } else if (cT == tiles.L.Down.NZ) {
    cT = tiles.Corner.Down.WN;
    }
    } else if (x == cube.End.X) {
    if (cT == tiles.Line.Y) {
    if (y == cube.Start.Y) {
    cT = tiles.L.Up.NX;
    } else if (y == cube.End.Y) {
    cT = tiles.L.Down.NX;
    }
    } else if (cT == tiles.Line.Z) {
    if (z == cube.Start.Z) {
    cT = tiles.L.Side.ES;
    } else if (z == cube.End.Z) {
    cT = tiles.L.Side.WN;
    }
    } else if (cT == tiles.L.Up.Z) {
    cT = tiles.Corner.Up.ES;
    } else if (cT == tiles.L.Down.Z) {
    cT = tiles.Corner.Down.ES;
    } else if (cT == tiles.L.Up.NZ) {
    cT = tiles.Corner.Up.SW;
    } else if (cT == tiles.L.Down.NZ) {
    cT = tiles.Corner.Down.SW;
    }
    }
    }
    }