Не работает NodePath при вставке в массив с редактора
Вот такой вот Dictationary на картинке, я его оббегаю в цикле:
if (traps != null && traps.Count > 0)
{
foreach (var indTrap in traps)
{
NodePath trap = indTrap as NodePath;
GD.Print("trap.ToString()="+trap.ToString() + "trap.GetConcatenatedSubnames()="
+ trap.GetConcatenatedSubnames() + "|trap.GetAsPropertyPath().ToString()="+trap.GetAsPropertyPath().ToString() +
"|trap.GetName()="+trap.GetName(0));
RigidBody2D rbTrap = GetNode<RigidBody2D>(trap);
if (rbTrap != null)
{
CollisionShape2D cshape = rbTrap.GetNode<CollisionShape2D>("CollisionShape2D");
cshape.Disabled = isOpen;
}
}
}
Все хорошо только вот RigidBody2D rbTrap
стабильно равен null. Вот кстати что выводит GD.Print
:
trap.ToString()=../Trap_3trap.GetConcatenatedSubnames()=|trap.GetAsPropertyPath().ToString()=:../Trap_3|trap.GetName()=..
Почему? Должно же работать.
Источник: Stack Overflow на русском