while
не является функцией. область действия переменной относится к переменной внутри functions
и classes
Unity SendMessage
- это абсолютно худший способ вызова метода, и его никогда нельзя использовать вне инструментов редактора. Это зависит от рефлексии, а также имеет недостаток в том, чтобы не генерировать ошибки времени компиляции для недопустимых методов (что становится большой проблемой, если вы делаете рефакторинг).