使用gamesparks RTDataBuilder发送字符串,IndexOutOfRange index大于128时出现Exception

Using gamesparks RTDataBuilder to send a string, IndexOutOfRange Exception occurs if the index is greater than 128

如果索引大于 128,则我们统一得到 "IndexOutOfRange Exception"。

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

有没有办法发送索引大于 128 的 vector3 或字符串?还是我哪里做错了。

Is there no way to send vector3 or string with a index greater than 128 ? Or am I doing something wrong

不,你没有做错任何事。这是 Gamesparks 施加的限制。

当调用 RTData.SetVector3 或类似函数时,它会调用 RTData.SetRTVector 函数,该函数设置一个名为 data.

的局部数组变量

数组变量是这样声明的:

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

0x80 converted 到十进制是 128 所以你只能使用 0127 之间的值,就像你在 C# 中的任何数组中一样.