При использовании игровых искр RTDataBuilder для отправки строки возникает исключение IndexOutOfRange, если индекс больше 128 - PullRequest
0 голосов
/ 06 июня 2018

Если индекс больше 128, тогда мы получаем «Исключение IndexOutOfRange» в единицу.

using (RTData data = RTData.Get())
  {
      data.SetVector3(129, v); // Exception here
      data.SetString(129, "Checking");   // Exception here
      gameSparksRTUnity.SendData(4, GameSparksRT.DeliveryIntent.RELIABLE, data);
}

Нет ли способа отправить vector3 или строку с индексом больше 128?Или я что-то не так делаю.

1 Ответ

0 голосов
/ 06 июня 2018

Нет ли способа отправить vector3 или строку с индексом больше 128?Или я что-то не так делаю

Нет, и вы не делаете ничего плохого.Это ограничение, налагаемое Gamesparks.

Когда вызывается RTData.SetVector3 или подобная функция, она вызывает функцию RTData.SetRTVector, которая устанавливает переменную локального массива с именем data.

Этокак объявлена ​​эта переменная массива:

internal RTVal[] data = new RTVal[0x80];

0x80 , преобразованная в десятичную, является 128, поэтому вы можете использовать значения только от 0 до 127, как если бы выв любом массиве в C #.

...