Как построить модифицируемую систему обьектов в игре?
Делаю игру в которой есть лут, строения. У этих обьектов есть свойства, такие как текстура, меш, вес, качество, шанс генерации, места генерации и тп. Если вшивать это сразу в код, то получится иерархия классов с разными начальными свойствами. Я правильно рассуждаю?
Но мне надо иметь возможность при запуске читать условные xml файлы и по ним строить классы производные базовому классу, который описал.
ПС. Или может создать один базовый класс и при запуске создать объекты и сохранять в массив, например. А после уже копировать их куда нужно.
2 Вариант, только чуть иначе:
1. Создайте заранее базовый класс-болванку в коде (хардкодед).
2. После загрузки - создайте наследник класса с нужными параметрами и свойствами.
3. Создайте 1 объект на основе класса наследника.
4. Клонируйте созданный объект столько раз, сколько нужно визуальных объектов.
5. Расставьте позиции для размещения (координаты и прочее) на каждом из них.
6. Визуализируйте в сцене.
А каким образом на c# выполнить пункт 2? И зачем тогда создавать класс, если мы будем клонировать один обьект, который выйдет такой же какой получился бы и для базового? Или я не прав?
Тимофей Болгарин, Базовый класс - содержит лишь базовые свойства (например, куб).
Наследник - содержит куб+свойство: красный (например). Итог: красный куб.
Клонированный объект - содержит все свойства экземпляра и делается очень быстро, что экономит ресурсы.
"Сделай мне 1000 красных кубов!" - мгновенно создадутся, т.к. не будет операции наследования и установки цвета для каждого отдельного объекта (для каждого красного куба).
xmoonlight, я имею ввиду как это сделать средствами языка. Что б программа приняла xml, разобрала ее и создала класс. Не совсем понимаю какие инструменты использовать
Тимофей Болгарин, Учите основы С#! Как дорастёте - поймёте ответ на свой вопрос и даже: как это закодить.
Нельзя без знаний кодить. А уж тем более - на Юнити.