using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;
using UnityEngine.XR.ARFoundation;
[RequireComponent(typeof(ARTrackedImageManager))]
public class NewBehaviourScript : MonoBehaviour
{
[SerializeField]
private GameObject[] placeablePrefabs;
private Dictionary<string, GameObject> spawnedPrefabs = new Dictionary<string, GameObject>();
private ARTrackedImageManager trackedImageManager;
//var manager = gameObject.AddComponent<ARTrackedImageManager>();
//manager.referenceLibrary = myLibrary;
//manager.enabled = true;
// private void Start()
// {
//trackedImageManager = GameObject.AddComponent<ARTrackedImageManager>();
// trackedImageManager.referenceLibrary = trackedImageMAnager.CreateRuntimeLibrary(runtimeImageLibrary);
// trackedImageManager.enabled = true;
//}
private void Awake()
{
trackedImageMananger = FindObjectOfType<ARTrackedImageManager>();
foreach (GameObject prefab in placeablePrefabs)
{
GameObject newPrefab = Instantiate(prefab, Vector3.zero, Quaternion.identity);
newPrefab.name = prefab.name;
spawnedPrefabs.Add(prefab.name, newPrefab);
}
}
private void OnEnable()
{
trackedImageManager.trackedImagesChanged += ImageChanged;
}
private void OnDisable()
{
trackedImageManager.trackedImagesChanged -= ImageChanged;
}
private void ImageChanged(ARTrackedImagesChangedEventArgs eventArgs)
{
foreach (ARTrackedImage trackedImage in eventArgs.added)
{
UpdateImage(trackedImage);
}
foreach (ARTrackedImage trackedImage in eventArgs.update)
{
UpdateImage(trackedImage);
}
foreach (ARTrackedImage trackedImage in eventArgs.removed)
{
spawnedPrefabs[trackedImage.name].SetActive(false);
}
}
private void UpdateImage(ARTrackedImage trackedImage)
{
string name = trackedImage.referenceImage.name;
Vector3 position = trackedImage.transform.position;
GameObject prefab = spawnedPrefabs[name];
prefab.transform.position = position;
prefab.SetActive(true);
foreach (GameObject go in spawnedPrefabs.Valeus)
{
if (go.name != name)
{
go.SetActive(false);
}
}
}
}
The errors:
Assets\Prefab\NewBehaviourScript.cs(30,9): error CS0103: The name ‘trackedImageMananger’ does not exist in the current context
Assets\Prefab\NewBehaviourScript.cs(56,59): error CS1061: ‘ARTrackedImagesChangedEventArgs’ does not contain a definition for ‘update’ and no accessible extension method ‘update’ accepting a first argument of type ‘ARTrackedImagesChangedEventArgs’ could be found (are you missing a using directive or an assembly reference?)
Assets\Prefab\NewBehaviourScript.cs(75,50): error CS1061: ‘Dictionary’ does not contain a definition for ‘Valeus’ and no accessible extension method ‘Valeus’ accepting a first argument of type ‘Dictionary’ could be found (are you missing a using directive or an assembly reference?)