Это фрагмент кода, который я нашел в интернете
public List<Piece> ramps = new List<Piece>(); 1 Gameobject go; 2 go = ramps[visualIndex].gameObject
Я хочу знать, почему автор поставил «.gameObject» в конце строки 2. Это другой тип приведения? Спасибо
Piece, скорее всего, пользовательский компонент, унаследованный от MonoBehaviour.
Piece
MonoBehaviour
ramps[visualIndex] будет извлекать ссылку на компонент Piece.
ramps[visualIndex]
go объявлен как GameObject , поэтому при вызове ramps[visualIndex].gameObject будет получен объект gameObject, к которому прикреплен компонент.
go
ramps[visualIndex].gameObject
https://docs.unity3d.com/ScriptReference/Component-gameObject.html
Здесь не задействовано приведение.
Gameobject go;Эта переменная объявлена как тип GameObject. Вы можете получить GameObject, связанный с любым типом скриптовой переменной. В этом случае переменная Piece, ramps [visualIndex].