public GameObject[] LoadSemanticColliderObjsByType(string dirPath, SceneUnderstandingObjectType type) { isAllColliderReady = false; ViveSR_SceneUnderstanding.ImportSceneObjects(dirPath); // read data from xml List <GameObject> outputObjs = new List <GameObject>(); DirectoryInfo dir = new DirectoryInfo(dirPath); if (!dir.Exists) { Debug.Log(dirPath + " does not exist."); } else { string[] fileNames = ViveSR_SceneUnderstanding.GetColliderFileNamesByType(type); for (int i = 0; i < fileNames.Length; i++) { FileInfo file = new FileInfo(dirPath + "/" + fileNames[i]); //Debug.Log(file.FullName); if (!file.Exists) { Debug.Log(file.FullName + " does not exist."); if (i == fileNames.Length - 1) { isAllColliderReady = true; return(outputObjs.ToArray()); } else { continue; } } GameObject go = OBJLoader.LoadOBJFile(file.FullName, LoadColliderDoneCallBack); go.SetActive(false); outputObjs.Add(go); } } return(outputObjs.ToArray()); }