12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- using LitJson;
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using UnityEngine;
- using Vuforia;
- public class VufroiaTrigger
- {
- public JsonData msg;
- public UserSceneItem usi;
- public string xmlFile;
- public string datFile;
- public static string LoaclxmlFile;
- public static string LoacldatFile;
- bool isData;
- bool isXML;
- public void init()
- {
- xmlFile = msg["vuforiaXML"].ToString();
- datFile = msg["vuforiaDat"].ToString();
- LoaclxmlFile = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + Path.GetFileName(xmlFile);
- LoacldatFile = Application.persistentDataPath + "/StreamingAssets/Vuforia/" + Path.GetFileName(datFile);
- LoadManager.Instance.loadVuforia(xmlFile, datFile,(bool b)=> {
- isXML = true;
- if(isData)
- {
- GameScene.Instance.StartCoroutine(loadVuforia());
- }
- }, (bool b) => {
- isData = true;
- if (isXML)
- {
- GameScene.Instance.StartCoroutine(loadVuforia());
- }
- });
- }
- IEnumerator loadVuforia()
- {
- Debug.Log("DGJ ===> 加载Database " + LoaclxmlFile);
- IEnumerable<ObserverBehaviour> observer = null;
- try
- {
- observer = VuforiaBehaviour.Instance.ObserverFactory.CreateBehavioursFromDatabase(LoaclxmlFile);
-
- }
- catch (System.Exception e)
- {
-
-
- }
- yield return observer;
-
- if(observer !=null)
- {
- List<ObserverBehaviour> list = new List<ObserverBehaviour>();
- foreach (ObserverBehaviour item in observer)
- {
- list.Add(item);
- }
- int count = 0;
- foreach (string item in usi.SpotsList.Keys)
- {
- if (list.Count > count)
- usi.SpotsList[item].setObVuforia(list[count]);
- count++;
- }
- }
-
- UIManager.Instance.HideUI(UINameConfig.LoadingPanel);
- UserSceneUI.Instance.obj.GetComponent<UserChooseScene>().st.SetActive(true);
- }
- }
|