private void OnTrackableDetected(string referenceName, TrackablePrefab trackablePrefab, object obj) { if (_currentName != referenceName) { return; } if (_gamesAssociations.TryGetValue(referenceName, out GameObject go)) { GameObject associatedGO = Instantiate(go); trackablePrefab.AssociatedGO = associatedGO; _placingManager.TrackableRecognized = true; } }
private void OnTrackedImageChanged(ARTrackedImagesChangedEventArgs args) { CheckFirstRecognition(args); foreach (ARTrackedImage image in args.updated) { TrackablePrefab trackablePrefab = image.gameObject.GetComponent <TrackablePrefab>(); if (trackablePrefab == null) { continue; } trackablePrefab.UpdatePosition(); } }
private void CheckFirstRecognition(ARTrackedImagesChangedEventArgs args) { if (TrackableRecognized) { return; } if (args.updated.Count > 0) { TrackablePrefab trackablePrefab = args.updated[0].gameObject.GetComponent <TrackablePrefab>(); if (trackablePrefab == null) { return; } string imageName = args.updated[0].referenceImage.name; _trackablePrefabs.Add(trackablePrefab); OnTrackableDetected?.Invoke(imageName, trackablePrefab, args.updated[0]); } }