Посмотрите на эту часть вашего кода:
void Start()
{
sp = sv.GetComponent<SpringPanel>();
if (sp == null) sv.AddComponent<SpringPanel>();
}
Если GetComponent
возвращает null
, поскольку SpringPanel
не присоединен к sv
GameObject, компонент SpringPanel
будет добавлен к sv
GameObject. Проблема в том, что sp
все равно будет null
. Вам также следует присвоить значение, возвращаемое AddComponent
sp
.
Заменить
if (sp == null)
sv.AddComponent<SpringPanel>();
с
if (sp == null)
sp = sv.AddComponent<SpringPanel>();