Я работаю над игрой, и у меня есть список доступных символов каждый игрок выбирает из, каждый символ содержит (3D) Модель и Texture2D значок, который был загружен в через Контентный трубопровод.XNA - Копирование модели
Проблема в том, что я хочу, чтобы более одного игрока выбирали один и тот же символ, но player1Char = charDatabase[choosenChar];
по ссылке, поэтому любые повторные варианты будут относиться к одной и той же модели.
Вот конструктор класса символов, который я пытаюсь скопировать, класс CModel - это всего лишь модель с позициями, поворотными и масштабными значениями для этой модели.
public Character(CModel model, string name, int HP, Vector2 iconPositionOnSheet)
Я думаю, что хочу сделать глубокую копию этого класса, но класс Model не сериализуем. Единственный способ, которым я могу это сделать, - загрузить одну и ту же модель из своего файла с Content.Load, если выбран повтор, но мне интересно, есть ли способ просто скопировать класс символов и, следовательно, модель, потому что это будет легче для меня.
Если вы не изменяете геометрию, то не копируйте модель, ссылайтесь на нее. Активы едят огромное количество памяти и никогда не должны быть глубоко скопированы, за исключением очень ограниченных ситуаций. – ClassicThunder