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