だから、ポーションという辞書があります。ポーションのキーが、引数として渡されたオブジェクトと同じ名前かどうかを確認する必要があります。今はそれができますが、項目オブジェクトとキーが同じ名前の場合、その特定のキーに値を追加する方法がわかりません。このコードは、オブジェクトの最初のインスタンスに対して正常に機能します。しかし、キーと同じ名前の別のインスタンス オブジェクトを追加すると、キーが見つからないという例外が発生します。2 つのオブジェクトが同じではないことは理解しています。辞書内のオブジェクト参照を抽出するにはどうすればよいですか? それとも別の方法がありますか?
public static void addItem(Potion item)
{
if (Potions.Count >0)
{
foreach(KeyValuePair<Potion,int> pair in Potions)
{
if (pair.Key.itemName == item.itemName)
{
containsItem = true;
}
}
if (containsItem)
{
Potions[item] += 1;
Debug.Log (Potions[item]);
containsItem = false;
}
else
{
Potions.Add(item,1);
}
}
else
{
Potions.Add (item,1);
}
foreach(KeyValuePair<Potion,int> pair in Potions)
{
Debug.Log (pair.Key.itemName + " : " + pair.Value);
}
}