атак/спелов на целей? К примеру, игрок запускает фаербол в врага, и нужно чтобы это произвело на него какой-то эффект(кроме урона). К примеру пламя на враге и анимация попыток потушиться. Может есть те, кто уже сталкивались или просто те, у кого есть идеи как сделать эту систему гибкой.
Entitas
Не совсем понимаю как ECS относится к теме.
Возможно не совсем правильно решение, но я бы сделал перечисление состояний, и само поле текущего состояния на противнике. При коллизии свитч с кейсами для обработки и уже по текущему состоянию вызывать определенные методы
Да, я тоже подумал о таком способе и для прототипа более-чем хватит. Но в перспективе, с добавлением каждого эффекте, на который нужна будет какая-то реакция нужно будет лезть в класс персонажа и добавлять ему новое состояние и логику к нему.
Хм это да, не особо хорошо. Но если честно даже и не знаю как можно сделать по другому, но с другой стороны, эти состояния можно сделать интерфейсом для (например) класса unit, там написать виртуальные методы, и класс enemy наследует unit с возможностью перезаписи этих методов, и будет выглядит довольно не плохо по архитектуре (но могу ошибаться конечно же)
Логику если я правильно понимаю нужно только добавлять в энам, и отдельным методом для состояния в энаме, а отслеживать событийно
Неплохой вариант. Я кстати так подумал, можно в условный метод TakeDamage передавать общий колбек, и в классе юнита будет по сути только вызываться этот колбек, а вся логика будет у конкретного эффекта.
А ну и так даже лучше
Обсуждают сегодня