С# Unity [SerializeField], Как сделать ссылку на переменную
Есть скрипт на объекте:
[SerializeField] private float _maxHp;
[SerializeField] private float _itemRegenHp;
if (_curHp < _maxHp)
_regenHp = _str * 0.7f + _itemRegenHp;
else
_regenHp = 0;
Цель: из другого скрипта изменить переменные _maxHp и _itemRegenHp.
Я знаю, что можно реализовать ссылку через "static public" или "GetComponent<>();" Но как мне известно, эти методы не оптимизированы и при частом использовании превратят код в кашу, пожирающую память, к тому же не читаемую. В отличие от "[SerializeField] private".
Я только учу теорию, постепенно закрепляя практикой.
Источник: Stack Overflow на русском