示例#1
0
        private void StartTracking(NodeHandle node)
        {
            if (_factory == null)
            {
                Debug.LogError("Factory is null");
                return;
            }

            if (_factory.nodeGetStatus(node) != NodeStatus.Idle)
            {
                Debug.LogError("Wrong node status");
                return;
            }

            if (Environment == null || Environment.Environment == null)
            {
                Debug.LogError("Environment is null");
                return;
            }

            _trackingLibrary = Antilatency.Alt.Tracking.Library.load();

            _placement = GetPlacement();

            _trackingTask = _trackingLibrary.createTracking(_factory, node, Environment.Environment);
            _trackingNode = node;

            TrackingTaskStateChanged.Invoke(true);
        }
示例#2
0
        /// <summary>
        /// Cleanup at component destroy. When you override this method in derived class, remember to call basic class method first.
        /// </summary>
        protected virtual void OnDestroy()
        {
            if (_trackingTask != null)
            {
                _trackingTask.Dispose();
                _trackingTask = null;
            }

            if (_trackingLibrary != null)
            {
                _trackingLibrary.Dispose();
                _trackingLibrary = null;
            }
        }
示例#3
0
        private void Init()
        {
            _trackingNode = new NodeHandle();

            if (Network == null)
            {
                Debug.LogError("Network is null");
                return;
            }

            _trackingLibrary = Antilatency.Alt.Tracking.Library.load();

            if (_trackingLibrary == null)
            {
                Debug.LogError("Failed to create tracking library");
                return;
            }
        }