Есть много способов сделать это.Одним из них является добавление метода к вашему классу Enemy, например -(BOOL)isEnemy
, который просто возвращает YES.(Это на самом деле было бы более полезно, если у Enemy есть суперкласс, который вы можете настроить, например, GameObject. Реализуйте -isEnemy в этом классе, чтобы вернуть NO. В противном случае вы не будете знать, сможете ли вы вызвать -isEnemy для данного объекта.)Подклассы автоматически наследуют этот метод.Кроме того, вы можете проверить класс каждого объекта, используя -isKindOfClass:
.Или, поскольку вы единственный, кто создает врагов, вы, безусловно, можете хранить список всех активных врагов.Это, вероятно, лучший план, если у вас на экране много объектов, только некоторые из которых являются объектами врага.
Решать, когда все враги мертвы, вы, вероятно, хотите делать очень часто.Возможно, имеет смысл вести список живых врагов.Когда враг умирает, удалите его из списка.Вы можете быстро проверить, успешно ли игрок прошел уровень, проверив длину списка живых врагов.Если оно больше 0, есть больше работы.