AR + GPS Location  3.0.0
All Classes Namespaces Functions Variables Properties Events Pages
OrientationInfo.cs
1 using UnityEngine;
2 using UnityEngine.UI;
3 
4 namespace ARLocation.UI
5 {
6  public class OrientationInfo : MonoBehaviour
7  {
8  private GameObject redArrow;
9  private GameObject trueNorthLabel;
10  private GameObject magneticNorthLabel;
11  private GameObject headingAccuracyLabel;
12  private GameObject compassImage;
13  private ARLocationProvider locationProvider;
14  private GameObject mainCamera;
15  private bool isMainCameraNull;
16  private Text text;
17  private Text text1;
18  private Text text2;
19  private RectTransform rectTransform;
20  private RectTransform rectTransform1;
21 
22  // Use this for initialization
23  void Start()
24  {
25  mainCamera = GameObject.FindGameObjectWithTag("MainCamera");
26  isMainCameraNull = mainCamera == null;
27 
28  locationProvider = ARLocationProvider.Instance;
29 
30  redArrow = GameObject.Find(gameObject.name + "/Panel/CompassImage/RedArrow");
31  trueNorthLabel = GameObject.Find(gameObject.name + "/Panel/TrueNorthLabel");
32  magneticNorthLabel = GameObject.Find(gameObject.name + "/Panel/MagneticNorthLabel");
33  headingAccuracyLabel = GameObject.Find(gameObject.name + "Panel/HeadingAccuracyLabel");
34  compassImage = GameObject.Find(gameObject.name + "Panel/CompassImage");
35 
36  text2 = headingAccuracyLabel.GetComponent<Text>();
37  text1 = magneticNorthLabel.GetComponent<Text>();
38  text = trueNorthLabel.GetComponent<Text>();
39 
40  rectTransform1 = compassImage.GetComponent<RectTransform>();
41  rectTransform = redArrow.GetComponent<RectTransform>();
42  }
43 
44  // Update is called once per frame
45  void Update()
46  {
47  if (isMainCameraNull)
48  {
49  return;
50  }
51 
52  var currentHeading = locationProvider.CurrentHeading.heading;
53  var currentMagneticHeading = locationProvider.CurrentHeading.magneticHeading;
54  var currentAccuracy = locationProvider.Provider.CurrentHeading.accuracy;
55 
56  text.text = "TRUE NORTH: " + currentHeading;
57  text1.text = "MAGNETIC NORTH: " + currentMagneticHeading;
58  text2.text = "ACCURACY: " + currentAccuracy;
59 
60  rectTransform.rotation = Quaternion.Euler(0, 0, (float)currentMagneticHeading);
61  rectTransform1.rotation = Quaternion.Euler(0, 0, (float)currentHeading);
62  }
63  }
64 }
ARLocation.UI.OrientationInfo
Definition: OrientationInfo.cs:7
ARLocation.ARLocationProvider
Definition: ARLocationProvider.cs:17
ARLocation.Utils.Singleton.Instance
static T Instance
Access singleton instance through this propriety.
Definition: Singleton.cs:18
ARLocation.UI
Definition: ARTrackingInfo.cs:5
ARLocation.ARLocationProvider.Provider
ILocationProvider Provider
Returns the current location provider.
Definition: ARLocationProvider.cs:63
ARLocation.ARLocationProvider.CurrentHeading
HeadingReading CurrentHeading
The current heading data.
Definition: ARLocationProvider.cs:98