У меня есть 2 муравья + флешки 1, имитирующие устройство, которое может обмениваться данными.(Программное обеспечение для моделирования [SimuAnt]) 1 имитируйте дисплей для отображения данных.(Windows PC приложение Unity)
Все работает нормально, но странно только одно.
Я проверил это с помощью Debug.Log, что функция действительно вызывается.Я использую кнопку для этого.
Теперь странные вещи: когда я нажимаю кнопку, журнал отладки подтверждает, что страница отправлена на устройство.но я не имею никакого эффекта в устройстве.Когда я быстро нажимаю на кнопку, она иногда срабатывает.
Когда я вызываю функцию 40 раз в коде, она работает.Но я не думаю, что это правильный способ решения проблемы.
public void SetTrainerResistance(int resistance) {
if (!connected)
return;
#if UNITY_ANDROID && !UNITY_EDITOR
AndroidJNI.AttachCurrentThread();
using (AndroidJavaClass javaClass = new AndroidJavaClass("com.ant.plugin.Ant_Connector")) {
using (AndroidJavaObject activity = javaClass.GetStatic<AndroidJavaObject>("mContext")) {
activity.Call("Set_fitness_Resistance",resistance);
}
}
#else
pageToSend = new byte[8] { 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, (byte)(resistance * 2) };//unit is 0.50%
deviceChannel.sendAcknowledgedData(pageToSend);
#endif
Я вызываю функцию, например, с помощью:
public void FitnessButton2() {
GameObject.Find("FitnessEquipmentDisplay").GetComponent<FitnessEquipmentDisplay>().SetTrainerResistance(50);
}
Я пытался использовать нажатие клавиши вместокнопка, но у нее та же проблема.
Полный сценарий также здесь: https://github.com/vrmedialab2017/SharkPrototype/blob/master/CubeTestVR/Assets/AdvancedAnt/Scripts/FitnessEquipmentDisplay.cs
Я подозреваю, что ошибка синхронизации!?
У кого-нибудь есть идеи для этого странногоматериал