Ах, ах!
Я тоже программирую игру, и сам немного задумался.
Использование наследования - это хороший способ, но ответы с "таргетингом"базовый класс не оптимален.Очевидно, что общее между «персонажем» и «неигровым персонажем» (наследование) - это не атрибут «таргетируемый», а целый «персонаж»: (дерево для наследования)
- символ:
- неигровой персонаж
- игровой персонаж
Если подумать, свойство таргетинга не ограничено персонажами.Это дает нам:
- интерактивные вещи: (нацеливаемые, но также имеют размер, вес и т. Д.)
- пассивный или неодушевленный = объект, артефакт (вы можете нацелить наобъект)
- дверь (например, стучит в дверь)
- статуя
- и т. д.
- активные или анимированные = обычно живые существа
- мобов (может сражаться, но не разговаривать с игроком)
- символов (дополнительные функции, такие как говорение)
- неигровые персонажи
- игровые персонажи
Конечно, это очень грубая концепция, но вы понимаете.Я имею в виду, что вам лучше заняться дизайном бумаги, если вы не хотите снова и снова внедрять его.
Удачи!