public Pipe(int size, float segLength, Material material, HashSet <Vector3> pipeHash) { allDirs = new List <Vector3> ( ); allDirs.Add(Vector3.up); allDirs.Add(Vector3.down); allDirs.Add(Vector3.left); allDirs.Add(Vector3.right); allDirs.Add(Vector3.forward); allDirs.Add(Vector3.back); this.size = size; this.segLength = segLength; this.material = material; this.pipeHash = pipeHash; //picking a random starting location for (int i = 0; i < 100; i++) { pos = new Vector3(Random.Range(3, size - 3), Random.Range(3, size - 3), Random.Range(3, size - 3)); if (validPos(pos)) { break; } } Vector3 startingDir = allDirs[Random.Range(0, allDirs.Count)]; dir = new PipeDir(startingDir, startingDir); steps = Random.Range(0, (int)(size / 2)); }
public override bool Equals(object other) { if (!(other is PipeDir)) { return(false); } PipeDir temp = (PipeDir)other; return(currentDir == temp.currentDir && nextDir == temp.nextDir); }
private static extern DWORD Open(DWORD instance, // Input [MarshalAs(UnmanagedType.LPStr)] string pVID_PID, // Input [MarshalAs(UnmanagedType.LPStr)] string pEP, // Input [MarshalAs(UnmanagedType.U4)] PipeDir dwDir, // Input DWORD dwReserved); // Input