コード例 #1
0
ファイル: piping.cs プロジェクト: goldentoaste/3DPipe
        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));
        }
コード例 #2
0
ファイル: piping.cs プロジェクト: goldentoaste/3DPipe
        public override bool Equals(object other)
        {
            if (!(other is PipeDir))
            {
                return(false);
            }

            PipeDir temp = (PipeDir)other;

            return(currentDir == temp.currentDir && nextDir == temp.nextDir);
        }
コード例 #3
0
 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