我不完全知道如何處理這種類型的問題。複製模板對象以從中創建一個新對象
private Dictionary<int, Tire> m_vehicleTireSelected = new Dictionary<int, Tire>()
{
{0, new TireCasual()
{
Name = "Monster Tire",
Position = new Vector3(-0.94f, -1.09f)
}},
{1, new TireMonster()
{
Name = "Casual Tire",
Position = new Vector3(1.05f, -1.09f)
}}
};
public void ChangeTire(int tireIndex, int tireKey)
{
m_bus.ChangeTire(tireIndex, m_vehicleTireSelected[tireKey]);
}
所以我想在這裏使用Dictionary來存儲一些輪胎模板對象,然後再用新的來更改它們。這裏的問題是,當我從字典中分配輪胎時,它仍然是同一輪胎,因爲它是一個引用類型變量,但最終我希望它是COPY。有人可以幫我解決問題,也許可以提出一個想法,我可以如何處理這種情況?我還應該提到這是性能至關重要的部分。
查看深入克隆:http://stackoverflow.com/questions/78536/deep-cloning-objects – 2014-12-04 12:45:19
我正在考慮做類似的事情,但這似乎對我的遊戲來說很小,對於我的遊戲來說這將會很小設備和克隆可以發生4-5次,其次是其他算法..我應該指出,我還需要一個性能明智的解決方案 – 2014-12-04 12:49:57
@MamaTate:性能不是一個問題,當它被複制幾次。 – 2014-12-04 12:53:18