/// <summary> /// Loads all fiducials with a given campus id /// </summary> private void LoadFiducials(int campusId) { Initialise(); if (!File.Exists(_fiducialSavePath)) { return; } lock (_fiducials) { _fiducialCollectionFile = JsonUtility.FromJson <FiducialCollectionFile>(File.ReadAllText(_fiducialSavePath)); foreach (FiducialCollection collection in _fiducialCollectionFile.FiducialCollections) { if (campusId == collection.CampusId) { foreach (FiducialObject fiducialObject in collection.SavedFiducials) { if (fiducialObject.Id == ZeroFiducial.FiducialId) { continue; } InstantiateFiducial(fiducialObject); _fiducialObjects.Add(fiducialObject.Id, fiducialObject); } return; } } } }
/// <summary> /// Serializes FiducialMap into json file and saves files to AppData/LocalLow/DTU-R3 folder. /// </summary> public void SaveFiducials() { if (_fiducialObjects.Count == 0) { return; } if (_fiducialCollectionFile == null) { _fiducialCollectionFile = new FiducialCollectionFile(); } List <FiducialObject> fidObjects = new List <FiducialObject>(_fiducialObjects.Values.ToList()); FiducialCollection collection = new FiducialCollection { CampusId = MazeMapController.Instance.CampusId, SavedFiducials = fidObjects }; bool saved = false; if (_fiducialCollectionFile.FiducialCollections != null) { for (int i = 0; i < _fiducialCollectionFile.FiducialCollections.Count; i++) { if (_fiducialCollectionFile.FiducialCollections[i].CampusId == collection.CampusId) { _fiducialCollectionFile.FiducialCollections[i] = collection; saved = true; } } } if (!saved) { _fiducialCollectionFile.FiducialCollections = new List <FiducialCollection> { collection }; } File.WriteAllText(_fiducialSavePath, JsonUtility.ToJson(_fiducialCollectionFile)); }