private void PerformUsingAction()
 {
     if (!ToolData.IsEmpty)
     {
         _queuedToolData = ToolData;
         ToolData        = new ToolDataT();
         _using.PerformActionUpdate(_queuedToolData);
     }
 }
        internal override void SynchronizeBehavior()
        {
            base.SynchronizeBehavior();

            var app = App;

            if (app == null)
            {
                return;
            }

            if (_hoverPoints.Any())
            {
                _hoverAction.PerformActionUpdate(new ButtonData()
                {
                    targetedPoints = _hoverPoints.Select((point) =>
                    {
                        return(PointData.CreateFromUnityVector3(point, Behavior.Actor.GameObject.transform, App.SceneRoot.transform));
                    }).ToArray()
                });

                _hoverPoints.Clear();
            }

            if (_buttonPressedPoints.Any())
            {
                _buttonAction.PerformActionUpdate(new ButtonData()
                {
                    targetedPoints = _buttonPressedPoints.Select((point) =>
                    {
                        return(PointData.CreateFromUnityVector3(point, Behavior.Actor.GameObject.transform, App.SceneRoot.transform));
                    }).ToArray()
                });

                _buttonPressedPoints.Clear();
            }
        }