У меня есть класс под названием «Сущность» с двумя дочерними классами: «Существо» и «Предмет». (Я создаю игру.) Существо имеет две функции, называемые «Атака», одна для атаки Существ и одна для атаки Предметов. Пока все работает хорошо.
Сейчас я работаю над битой съемки, поэтому у меня есть функция SelectTarget (). Он берет все сущности (как существ, так и предметы) в поле зрения игрока, чтобы игрок мог стрелять, и позволяет игроку выбрать одного.
Так вот в чем проблема: SelectTarget () возвращает сущность, но мне нужен код, чтобы выяснить, является ли эта сущность Существом или Предметом, и обработать ее соответствующим образом.
Поскольку этот вопрос выглядит пустым без какого-либо кода, и я не уверен на 100%, что мое объяснение достаточно хорошее, вот где я нахожусь:
if (Input.Check(Key.Fire)) {
Entity target = Game.State.SelectTarget.Run();
this.Draw();
if (target != null) {
//Player.Attack(target);
// This won't work, because I have:
// Player.Attack((Creature)Target)
// Player.Attack((Item)Target)
// but nothing for Entity, the parent class to Creature and Item.
return true;
}
}
(Если выкладка игры кажется странной, значит, она похожа на мошенника.)