У мене виникає проблема спроби впровадити систему інвентаризації в XNA (насправді не має значення, може бути будь-яка платформа), але поки що. Ось питання, яке я намагаюся обернути головою:
Як я можу отримати предмет із світу (подумайте, коли ви вб'єте монстра, він скидає броні) і занести його в інвентар мого гравця?
Якщо інвентар - це лише перелік предметів, технічно, як я можу перенести сталевий меч у світ в інвентар мого гравця, не маючи класу робити більше ніж одну справу?
Наразі у мене є структура елемента, яка містить унікальне шістнадцяткове значення, підрахунок кількості елементів (для складання, як стрілки) та Текстуру для візуалізації в інвентарі та деякі інші неважливі властивості (ім'я, опис тощо) .
Було б поганим дизайном, якби мені довелося змінити мій існуючий клас предметів, щоб він розміщував світову позицію, поряд із виявленням зіткнень (не хочу, щоб предмет падав через землю).
Дякуємо за будь-які міркування!
Inventory
що приймає WorldItem
і додає його як InventoryItem
. Так що він також міг обробляти випадки, коли предмети потрібно складати (наприклад, стрілки).
WorldItem
окремий до вашогоInventoryItem
? (Можливо, у шаблонуWorldItem
єInventoryItem
шаблон, який потрапляє в інвентар гравця, коли його забрали).