Добавление только одного компонента к объектам.
Добавлено: 08 апр 2019, 14:17
Есть лист компонентов "Doors" и проверка на движение врагов. При движении одного из них на каждую дверь должен вешаться только один collider.
Пытался добиться этого таким кодом, но при движении врага на двери вешается бесконечное количество colliderов. Помогите найти ошибку. Заранее спасибо!
Синтаксис:
Используется csharp
for (int m = 0; m < enemies.Length; m++) {
var obj7 = enemies [m];
if (obj7.GetComponent<Enemy> ().move == true) {
for (int p = 0; p < doors.Length; p++) {
var obj3 = doors [p];
obj3.AddComponent<BoxCollider2D> ();
}
}
if (obj7.GetComponent<Enemy>().move == false) {
for (int o = 0; o < doors.Length; o++) {
var obj4 = doors [o];
var col = obj4.GetComponent<BoxCollider2D> ();
col.enabled = false;
}
}
}
var obj7 = enemies [m];
if (obj7.GetComponent<Enemy> ().move == true) {
for (int p = 0; p < doors.Length; p++) {
var obj3 = doors [p];
obj3.AddComponent<BoxCollider2D> ();
}
}
if (obj7.GetComponent<Enemy>().move == false) {
for (int o = 0; o < doors.Length; o++) {
var obj4 = doors [o];
var col = obj4.GetComponent<BoxCollider2D> ();
col.enabled = false;
}
}
}
Пытался добиться этого таким кодом, но при движении врага на двери вешается бесконечное количество colliderов. Помогите найти ошибку. Заранее спасибо!