コード例 #1
0
        private void HandleOnCreatedLocalPlayer(IAvatar avatar, IRemotePlayer remotePlayer)
        {
            ISpatialAnchor anchor = _anchorSystem.GetOrCreateAnchor(remotePlayer.PlayerID);

            _anchorSystem.CreateTuner();

            anchor.AddTransform(avatar.Root);
        }
コード例 #2
0
        private ISpatialAnchor Create(SpatialAnchorID anchorID)
        {
            ISpatialAnchor anchor = _anchorFactory.Create(anchorID);

            AddAnchor(anchorID, anchor);

            return(anchor);
        }
コード例 #3
0
        private void AddAnchor(SpatialAnchorID anchorID, ISpatialAnchor anchor)
        {
            if (Find(anchorID) != null)
            {
                Debug.LogWarning($"{anchorID} is already exist in the database. The anchor won't be added this time.");
                return;
            }

            _database.Add(anchorID, anchor);
        }
コード例 #4
0
        private ISpatialAnchor CreateAnchor(PlayerID playerID)
        {
            SpatialAnchorID anchorID = CreateNewID(playerID);

            _database.Add(playerID, anchorID);

            ISpatialAnchor anchor = _anchorRepository.Create(anchorID);

            OnCreatedAnchor?.Invoke(anchor);

            return(anchor);
        }
コード例 #5
0
 void ISpatialAnchorTuner.BindAnchor(ISpatialAnchor anchor)
 {
     _spatialAnchor = anchor;
 }
コード例 #6
0
        private void RegisterTuner(ISpatialAnchorTuner tuner, PlayerID playerID)
        {
            ISpatialAnchor anchor = GetOrCreateAnchor(playerID);

            tuner.BindAnchor(anchor);
        }