void HandleWallMode() { pointer.transform.position = selectPosition[iSelection]; if (selectType[iSelection] == 1) { if (iSelection == 0) { targets[iSelection].GetSidePosition(selectIndex[0], out pointsOnWall[0][0], out pointsOnWall[0][1]); } if (iSelection == 1 && lastSelectIndex != selectIndex[iSelection]) { targets[iSelection].GetSidePosition(selectIndex[0], out pointsOnWall[0][0], out pointsOnWall[0][1]); targets[iSelection].GetSidePosition(selectIndex[1], out pointsOnWall[1][0], out pointsOnWall[1][1]); if (StructureData.GetNormal(pointsOnWall[1][0], pointsOnWall[0][0], pointsOnWall[0][1]) != Vector3.zero) { targets[iSelection].MaximizeSide(selectIndex[0], pointsOnWall[1][0], out pointsOnWall[0][0], out pointsOnWall[0][1]); } else { targets[iSelection].MaximizeSide(selectIndex[0], pointsOnWall[1][1], out pointsOnWall[0][0], out pointsOnWall[0][1]); } if (StructureData.GetNormal(pointsOnWall[0][0], pointsOnWall[1][0], pointsOnWall[1][1]) != Vector3.zero) { targets[iSelection].MaximizeSide(selectIndex[1], pointsOnWall[0][0], out pointsOnWall[1][0], out pointsOnWall[1][1]); } else { targets[iSelection].MaximizeSide(selectIndex[1], pointsOnWall[0][1], out pointsOnWall[1][0], out pointsOnWall[1][1]); } if (pointsOnWall[0][1] != pointsOnWall[1][1] || pointsOnWall[0][0] != pointsOnWall[1][0]) { ResetModel(); BuildWall(pointsOnWall[0][0], pointsOnWall[0][1], pointsOnWall[1][0], pointsOnWall[1][1], material, true); thisRenderer.SteppedRenderStructure(); } } } else { pointsOnWall[iSelection][0] = Vector3.zero; pointsOnWall[iSelection][1] = Vector3.zero; ResetModel(); } lastSelectIndex = selectIndex[iSelection]; }