Схема класса системы инвентаризации - PullRequest
1 голос
/ 28 марта 2012

Я создаю систему инвентаря для своей игры. Я не совсем уверен в том, какой должна быть структура классов, у меня уже есть класс оружия, предметов и блоков. Оружие попадает на игрока, предметы могут быть размещены на блоках, а блоки могут быть размещены на сетке плитки. У меня есть класс под названием плитка для обработки размещения на сетке. Но мне интересно, как мне создать класс, чтобы скрепить каждую «вещь» (существо, оружие, блоки и предметы).

Если мне неясно или вам нужна дополнительная информация, просто прокомментируйте.

1 Ответ

2 голосов
/ 28 марта 2012

У вас есть хорошая стартовая идея, но подумайте нестандартно - если у вас есть типичный инвентарь, то вы получите

игрока+ Инвентарь+ [] Предметы+ [] Оружие

Если вы планируете внедрить инвентарь, основанный на слотах, у вас есть много возможностей реализовать привязку предметов, например1) Предмет помещен в слот в инвентаре2) Предмет, помещенный в предмет в слот в инвентаре3) Предмет, помещенный в инвентарь в инвентарь (например, сундук или что-либо еще)

Поэтому попробуйте подумать о более гибкой концепции - вы можете сделать это, создав несколько интерфейсов или классов провайдеров, которые могут содержать другие вещи.Это может быть

Игрок, получивший Inventory Inventory реализует IInventory Item реализует IInventory (если это сундук или что-то еще)

Если вы хотите реализовать такую ​​сетку, которую мы знаем из WoW или около того,тогда вы также можете написать классы, которые могут сортировать и упорядочивать элементы ...

Inventory реализует IOrderedInventory

, а ваша сетка предлагает IInventoryAdapter

Путем обработки ваших действий и классовТаким образом, вы можете быть уверены, что соединение работает нормально.

Надеюсь, я смог дать вам несколько идей.

Привет,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...