override public bool UpdateCapture(InputEvent e)
        {
            if (eState == CaptureState.ClickType && FindHitGO(e.ray) != null)
            {
                return(true);
            }

            // otherwise we fall into drag state
            eState = CaptureState.DragType;

            SORayHit hit = null;

            if (TargetScene.FindSORayIntersection(e.ray, out hit))
            {
                if (hit.hitSO != lastHitObject)
                {
                    if (lastHitObject != null)
                    {
                        lastHitObject.PopOverrideMaterial();
                    }
                    lastHitObject = hit.hitSO;
                    if (lastHitObject.GetActiveMaterial() != tempMaterial)
                    {
                        lastHitObject.PushOverrideMaterial(tempMaterial);
                    }
                }
            }
            else
            {
                if (lastHitObject != null)
                {
                    lastHitObject.PopOverrideMaterial();
                }
                lastHitObject = null;
            }

            return(true);
        }