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); }