private void MovePlatformToItsAppropriatePlace(Platform platform) { platform.transform.position = new Vector3(0, 0, zPositionOffset); int newMaterialIndex = platformMaterials.Length - 1; // Adjusting the number slightly to make sure material changes happen in the right spots float platformNormalisedZ = platform.transform.position.z + 0.5f; for (int i = 1; i < InteractablesManager.ClothingItemsGenerationPoints.Length; i++) { if (platformNormalisedZ <= (float)InteractablesManager.ClothingItemsGenerationPoints[i].mileage) { newMaterialIndex = i - 1; break; } } if (newMaterialIndex != materialsIndex) { materialsIndex = newMaterialIndex; doors.MoveToNewLocation(platform.transform.position); } Material material = platformMaterials[materialsIndex]; platform.SetMaterials(material); zPositionOffset += Z_PLATFORM_SIZE; }