for(int ib = 0; ib <= currentCollider.transform.gameObject.GetComponent().mesh.triangles.length / 3; ib ++){
Assets/Game_scripts/GridController.cs(49,150): error CS1061: Type int[]' does not contain a definition for
length’ and no extension method length' of type
int’ could be found (are you missing a using directive or an assembly reference?)
aPoints[] = GroundObject.GetComponent<MeshFilter>().mesh.vertices.Skip(i - 1 * 3).Take(3);
Assets/Game_scripts/GridController.cs(51,57): error CS0131: The left-hand side of an assignment must be a variable, a property or an indexer
EDIT:
foreach (Vector3 tempPosition in tempPositionsList){
GroundObject.transform.position = tempPosition;
bool isFree = true;
// Check is object free space WIP
Collider[] hitColliders = Physics.OverlapSphere(GroundObject.transform.position, GroundObject.collider.bounds.extents.magnitude);
foreach(Collider currentCollider in hitColliders){
if(GroundObject.collider.bounds.Intersects(currentCollider.bounds)){
int adjustedTriangleCount = currentCollider.transform.GetComponent<MeshFilter>().mesh.triangles.Length / 3;
for(int i = 0; i <= adjustedTriangleCount; i ++){ // For every triangle in GroundObject...
for(int ib = 0; ib <= adjustedTriangleCount; ib ++){ // For every triangle in other object...
int[] aPoints = new int[3];
aPoints[] = GroundObject.GetComponent<MeshFilter>().mesh.vertices.Skip(i - 1 * 3).Take(3);
Vector3 a1 = GroundObject.transform.TransformPoint(GroundObject.GetComponent<MeshFilter>().mesh.vertices[aPoints[1]]);
Vector3 a2 = GroundObject.transform.TransformPoint(GroundObject.GetComponent<MeshFilter>().mesh.vertices[aPoints[2]]);
Vector3 a3 = GroundObject.transform.TransformPoint(GroundObject.GetComponent<MeshFilter>().mesh.vertices[aPoints[3]]);
int[] bPoints = new int[3];
bPoints[] = GroundObject.GetComponent<MeshFilter>().mesh.vertices.Skip(i - 1 * 3).Take(3);
Vector3 b1 = currentCollider.transform.TransformPoint(currentCollider.transform.gameObject.GetComponent<MeshFilter>().mesh.vertices[aPoints[1]]);
Vector3 b2 = currentCollider.transform.TransformPoint(currentCollider.transform.gameObject.GetComponent<MeshFilter>().mesh.vertices[aPoints[2]]);
Vector3 b3 = currentCollider.transform.TransformPoint(currentCollider.transform.gameObject.GetComponent<MeshFilter>().mesh.vertices[aPoints[3]]);
if(TriTriOverlap.TriTriIntersect(a1, a2, a3, b1, b2, b3)){
isFree = false;
}
}
}
}
}
if(isFree != false){
possiblePositionsList.Add (tempPosition);
}
}