|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
1. Понял-отстал.
2. Изначально есть оружие колющее и режущее. Пока публичные свойства и методы у них одинаковые, но кое-что уже отличается, например, это влияет на выборе варианта атаки. Изначально думал сделать наследников, но появились такие экземпляры, которые относятся сразу к двум типам. Пришлось сделать вектор строковых ID, со всеми его неудобствами. Сейчас, когда я чудесным образом открыл для себя всю прелесть интерфейсов, пришёл к заключению, что правильнее и компактнее будет ввести соответствующие интерфейсы, присваивать их и проверять экземпляры на принадлежность нужному.
__________________
Не сломано - не чини! |
|
|||||
Цитата:
Цитата:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Цитата:
Подумай о том, чтобы вынести все данные игровых сущностей в отдельные классы/таблицы/списки, а не хранить их в виде типов, иерархий наследования, наличии строковых свойств и т.д.
__________________
Дети не должны знать о своих родителях |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Маркерные интерфейсы используются, когда надо выразить не ЧТО ДЕЛАЕТ объект, а ЧТО МОЖНО СДЕЛАТЬ с ним. Что значит "сделать с ним"? Ну, обычно это значит "передать аргументом в какую-то функцию", ибо "делают" у нас функции. Например, можно пометить какие-то предметы разных классов как ДобавлябельныеВИнвентарь. Но, как правильно заметил Кейси, это лишь отодвигает проблему вглубь — в инвентаре все-равно придется разбираться что это за фрукт. Тем не менее, положа руку на сердце, добавляемые в инвентарь предметы могут на самом деле не иметь общих методов, так как используются совершенно по-разному, и даже индивидуальную иконку иметь не обязаны, а такие поля как name или ID — общие для ВСЕХ объектов, а не только Добавлябельных. Так что в каких-то ситуациях это может быть инструментом, упрощающим архитектуру — если какой-то метод реально готов принимать для обработки объекты разных типов.
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
|
Цитата:
Добавлено через 3 минуты Цитата:
Любопытный клуб
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe |
Часовой пояс GMT +4, время: 20:40. |
|
« Предыдущая тема | Следующая тема » |
|
|