Тебе действительно следует хорошенько осмыслить как ты пишешь свой код, выглядит и звучит ужасно, но если очень нужно то можешь попробовать что-то типо такого:
public class Program
{
public static void Main()
{
int levelsCount = 14;
for (int i = 0; i < levelsCount; i++)
{
string levelName = $"finish{i}";
if (collision.gameObject.name == levelName)
{
CorrelateLevelsAndMethods(i);
}
}
}
private static void CorrelateLevelsAndMethods(int levelNumber)
{
switch (levelNumber)
{
case 1:
Method1();
break;
case 2:
Method2();
break;
case 3:
Method3();
break;
// ...
default:
// Console.WriteLine("Level not found.");
break;
}
}
}
for(int i = 0; i < 14; i++;)
{
if( collision.gameObject.name == "finish" + i.ToString())
{
level(здесь должно быть значение i, то есть чтобы вызывался метод level1, level2 и т.п.)();
}
}
И вот как сделать так чтобы метод который нужно вызвать зависил от значения i?