perhaps some more info would be more helpful...
Here is a test function that I am using to create the "walls" (there are many types, this is the basic block, without any special things)
Not shown, but I will assign from a mesh two of the triangles to be "clickable", and store their address in an array of types representing their position. I have two ways of implementing finding which triangle was clicked: One would be two create everything in order, following the array, and then take whatever the index returned from a pick and divide by two (round down), then convert the one dimensional array info into my two dimensional array, to find the type that it is in. Whenever a block is created or destroyed I would have to delete everything and re-create the mesh all over again. The other method would be to loop through the array and check every triangle against the picked one and find a match.
I hope some of this made sense...
Here is a test function that I am using to create the "walls" (there are many types, this is the basic block, without any special things)
Function add_wall(x,y,z,mesh) Local mesh1 = CreateMesh() Local surf1 = CreateSurface(mesh1) Local vbtr = AddVertex(surf1,x+5,y-7.5,z+5) Local vbtl = AddVertex(surf1,x-5,y-7.5,z+5) Local vbbr = AddVertex(surf1,x+5,y-7.5,z-5) Local vbbl = AddVertex(surf1,x-5,y-7.5,z-5) Local vttl = AddVertex(surf1,x-5,y+7.5,z+5) Local vttr = AddVertex(surf1,x+5,y+7.5,z+5) Local vtbl = AddVertex(surf1,x-5,y+7.5,z-5) Local vtbr = AddVertex(surf1,x+5,y+7.5,z-5) AddTriangle(surf1,vbbl,vbtr,vbtl) ;bottom AddTriangle(surf1,vbtr,vbbl,vbbr) ;bottom AddTriangle(surf1,vbtl,vttl,vbbl) ;left AddTriangle(surf1,vtbl,vbbl,vttl) ;left AddTriangle(surf1,vtbl,vtbr,vbbr) ;front AddTriangle(surf1,vbbr,vbbl,vtbl) ;front AddTriangle(surf1,vbbr,vtbr,vttr) ;right AddTriangle(surf1,vttr,vbtr,vbbr) ;right AddTriangle(surf1,vttr,vttl,vbtl) ;back AddTriangle(surf1,vbtl,vbtr,vttr) ;back AddTriangle(surf1,vttl,vttr,vtbr) ;top AddTriangle(surf1,vtbr,vtbl,vttl) ;top AddMesh mesh1,mesh End Function
Not shown, but I will assign from a mesh two of the triangles to be "clickable", and store their address in an array of types representing their position. I have two ways of implementing finding which triangle was clicked: One would be two create everything in order, following the array, and then take whatever the index returned from a pick and divide by two (round down), then convert the one dimensional array info into my two dimensional array, to find the type that it is in. Whenever a block is created or destroyed I would have to delete everything and re-create the mesh all over again. The other method would be to loop through the array and check every triangle against the picked one and find a match.
I hope some of this made sense...