void UpdateColliders() { for (int x = 0; x < map.width; x++) { for (int y = 0; y < map.height; y++) { if (colliders[x][y].enabled != map.IsActive(x, y)) { colliders[x][y].enabled = map.IsActive(x, y); } } } }
void UpdateColliders() { for (int i = 0; i < map.width; i++) { for (int j = 0; j < map.height; j++) { if (map.IsActive(i, j)) { } } } }
void UpdateColliders() { meshCollider.sharedMesh = null; int instanceCount = 0; for (int x = 0; x < map.width; x++) { for (int y = 0; y < map.height; y++) { if (map.IsActive(x, y)) { instanceCount++; } } } var instances = new CombineInstance[instanceCount]; int i = 0; for (int x = 0; x < map.width; x++) { for (int y = 0; y < map.height; y++) { if (map.IsActive(x, y)) { instances[i].mesh = cube; instances[i].transform = Matrix4x4.TRS( new Vector3(x, y, 0), Quaternion.identity, Vector3.one ); i++; } } } mesh.indexFormat = instanceCount >= (ushort.MaxValue / cube.vertexCount) ? UnityEngine.Rendering.IndexFormat.UInt32 : UnityEngine.Rendering.IndexFormat.UInt16; mesh.CombineMeshes(instances, true, true); meshCollider.sharedMesh = mesh; }
void UpdateColliders() { for (int i = 0; i < map.width; i++) { for (int j = 0; j < map.height; j++) { var center = colliders[i][j].center; center.z = map.IsActive(i, j) ? 0 : 10; colliders[i][j].center = center; } } }