Unity: Как я могу использовать функцию из другого скрипта, используя sting в качестве ее имени?

#c# #unity3d

Вопрос:

Так что последние 32 часа я бился головой об стену в поисках ответа на этот вопрос. Поэтому я хочу получить доступ к общедоступной пустоте из другого скрипта с помощью строки, поэтому я не буду использовать 100 операторов if. Все ответы, которые я видел в Интернете, либо противоречат другим ответам, либо недостаточно хорошо объясняют свой очень сложный код, либо просто не работают.

Комментарии:

1. Другие ответы ясны: используйте отражение … если вы не понимаете, как им пользоваться, используйте «100 если».

2. Почему вы хотите использовать его название в первую очередь? И вы, возможно, захотите использовать, например GameObject.SendMessage

Ответ №1:

Вы можете использовать диктофон, содержащий строки в качестве ключей и делегатов в качестве значений, чтобы вы могли назначить свои функции делегатам и дать им имя. В другом сценарии вы можете получить доступ к диктофону и вызвать функцию с соответствующим именем. Я не уверен, что это то, что вы ищете, но я надеюсь, что это поможет.