|
|
@@ -40,6 +40,7 @@ public class DeviceCalibrateView : MonoBehaviour
|
|
|
btnMagCalibrate.GetComponent<Button>().onClick.AddListener(ClickMagCalibrate);
|
|
|
btnIdentityCalibrate.GetComponent<Button>().onClick.AddListener(ClickIdentityCalibrate);
|
|
|
magReset.GetComponent<Button>().onClick.AddListener(() => {
|
|
|
+ ResetCalibrateMagTimeout();
|
|
|
AimHandler.ins.MagCalibrater = new o0._9Axis.MagnetometerAutoCalibrater();
|
|
|
PlayerPrefs.DeleteKey("new_mag_record");
|
|
|
});
|
|
|
@@ -90,6 +91,10 @@ public class DeviceCalibrateView : MonoBehaviour
|
|
|
}
|
|
|
|
|
|
bool canUpdateGyrCalibrateProgress = false;
|
|
|
+
|
|
|
+ float calibrateMagStartTime = 0; //地磁校准开始时刻
|
|
|
+ bool calibrateMagTimeoutTipShowed = false; //地磁校准超时后,是否已提示
|
|
|
+
|
|
|
void Update()
|
|
|
{
|
|
|
if (canUpdateGyrCalibrateProgress) {
|
|
|
@@ -104,6 +109,14 @@ public class DeviceCalibrateView : MonoBehaviour
|
|
|
tipMag1.SetActive(true);
|
|
|
tipMag2.SetActive(false);
|
|
|
magReset.SetActive(true);
|
|
|
+
|
|
|
+ if ( //地磁校准超时提示
|
|
|
+ !calibrateMagTimeoutTipShowed &&
|
|
|
+ Time.realtimeSinceStartup - calibrateMagStartTime > 20
|
|
|
+ ) {
|
|
|
+ calibrateMagTimeoutTipShowed = true;
|
|
|
+ PopupMgr.ins.ShowTipTop("存在磁场干扰,请远离电子设备后点击重新校准!");
|
|
|
+ }
|
|
|
} else {
|
|
|
tipMag1.SetActive(false);
|
|
|
tipMag2.SetActive(true);
|
|
|
@@ -145,6 +158,19 @@ public class DeviceCalibrateView : MonoBehaviour
|
|
|
this.transform.Find("Gyr").gameObject.SetActive(deviceCalibrateItem == DeviceCalibrateItem.Gyr);
|
|
|
this.transform.Find("Mag").gameObject.SetActive(deviceCalibrateItem == DeviceCalibrateItem.Mag);
|
|
|
this.transform.Find("Identity").gameObject.SetActive(deviceCalibrateItem == DeviceCalibrateItem.Identity);
|
|
|
+ OnRefreshPage();
|
|
|
+ }
|
|
|
+
|
|
|
+ void OnRefreshPage() {
|
|
|
+ if (deviceCalibrateItem == DeviceCalibrateItem.Mag) {
|
|
|
+ ResetCalibrateMagTimeout();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //重置地磁校准超时检测
|
|
|
+ void ResetCalibrateMagTimeout() {
|
|
|
+ calibrateMagStartTime = Time.realtimeSinceStartup;
|
|
|
+ calibrateMagTimeoutTipShowed = false;
|
|
|
}
|
|
|
|
|
|
// ------ 陀螺仪校准 ------
|