Esempio n. 1
0
    /// <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;
                }
            }
        }
    }
Esempio n. 2
0
    /// <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));
    }