Использование объекта в качестве значения словаря - PullRequest
0 голосов
/ 01 декабря 2018

В настоящее время я пишу шахматы в Unity.То, что я пытаюсь сделать, это иметь словарь, который содержит каждый квадрат (A1, A2, etc) в качестве ключевого значения, и это значение является объектом Vector3 (например, 0, 0, 10) с местоположением квадрата, к которому шахматыкусок будет двигаться.Вот мой код на данный момент.

IDictionary<string, Vector3> locations = new Dictionary<string, Vector3>()
{
    {"A1", Vector3(0.0f, 0.0f, 0.0f)},
    {"A2", Vector3(0.0f, 0.0f, 10.0f)}
};

Когда я запускаю его, консоль Unity сообщает следующее:

Выражение обозначает тип, в котором ожидалась переменная, значение или группа методов

Кто-нибудь знает, как это исправить / лучший способ кодировать его?

1 Ответ

0 голосов
/ 01 декабря 2018

Вам необходимо использовать ключевое слово new перед конструкторами Vector3, поэтому должно работать следующее:

IDictionary<string, Vector3> locations = new Dictionary<string, Vector3>()
{
    {"A1", new Vector3(0.0f, 0.0f, 0.0f)},
    {"A2", new Vector3(0.0f, 0.0f, 10.0f)}
};
...