Я проверял документацию Unity API и наткнулся на этот пример блока кода:
using UnityEngine; public class Example : MonoBehaviour { public GameObject target; void Reset() { //Output the message to the Console Debug.Log("Reset"); if (!target) target = GameObject.FindWithTag("Player"); } }
Что именно означает «(! Target)»?
Я думал, что это сладкоспособ записи (target! = null), но не совсем уверен, потому что я понимал, что это всегда будет ложным, потому что null! = false ... Чего мне не хватает?
https://docs.unity3d.com/ScriptReference/MonoBehaviour.Reset.html
! Target будет истинным, когда target равен нулю
, если мы изменили Target на слова HAS-OBJECT, тогда код говорит:
if(NOT HAS-OBJECT) { SET TO AN OBJECT }
Итак, в опубликованном вами коде! target - условно true , когда target равен null