我正在开发一款游戏,我有一个每个玩家可以选择的可用角色列表,每个角色都包含一个(3D)模型和一个已通过内容管道加载的Texture2D图标。
问题是,我希望多个玩家选择同一个角色,但这player1Char = charDatabase[choosenChar];
是通过引用,所以任何重复选择都将引用同一个模型。
这是我要复制的 Character 类的构造函数,CModel 类只是一个具有该模型的位置、旋转和缩放值的模型。
public Character(CModel model, string name, int HP, Vector2 iconPositionOnSheet)
我想我想做的是对该类进行深层复制,但 Model 类不可序列化。我能想到的唯一另一种方法是使用 Content.Load 从其文件中加载相同的模型,如果选择了重复,但我想知道是否有一种方法可以简单地复制字符类并因此复制模型,因为这对我来说会更容易。