private void Update() { if (!objectInstantiated) { if (Input.compass.enabled && (!hasCompassData || compassHeading != Input.compass.trueHeading)) { compassHeading = Input.compass.trueHeading; onCompassData.Invoke(compassHeading); hasCompassData = true; } if (Input.location.status == LocationServiceStatus.Running && (!hasGPSData || gpsData.latitude != Input.location.lastData.latitude || gpsData.longitude != Input.location.lastData.longitude)) { gpsData = new LocationTools.LocationData(); gpsData.latitude = Input.location.lastData.latitude; gpsData.longitude = Input.location.lastData.longitude; onGPSData.Invoke(gpsData); hasGPSData = true; } #if UNITY_EDITOR compassHeading = editorDebugHeading; onCompassData.Invoke(compassHeading); hasCompassData = true; gpsData = editorDebugGPSData; onGPSData.Invoke(gpsData); hasGPSData = true; #endif CheckInstantiation(); } }