Я пытаюсь пройтись через кучу GameObjects в списке:
// get the relative position of the weapons to the ship
List<Transform> weaponPositions = ship.GetWeaponLocations(); // works
// set the positions of the weapons
for(int i = 0 ; i < equippedWeapons.Length && i < weaponPositions.Count ; i++)
{
equippedWeapons[i].GetComponent<Weapon>().setPosition(weaponPositions[i]);
}
Однако кажется, что последние «оружейные позиции» применяются ко всему.Итак, WeaponePositions - это список типа Transform, и я хочу установить позицию оружия [0], например, в положение Weapon Position [0].
Проблема заключается в том, что когда он достигает третьего оружия (последний в данном случае), он применяет позицию оружияPosition [2] к каждому из ранее выпущенных видов оружия, а не только к его индексу.
Это оружие SerailizedField:
[SerializeField] GameObject[] equippedWeapons;
В оружии метод setWeapon просто:
Transform positionOfWeaponOnShip;
public void setPosition(Transform pos)
{
positionOfWeaponOnShip = pos;
}
Вопрос, который я задаю, заключается в том, правильно ли я здесь использую Список?Я озадачен тем, почему он не применяет это только к i-му значению.Я также не уверен, что еще я могу поставить здесь, что было бы полезно ...
Спасибо, Бого