protected virtual void dispatchSimulationResults() { InteractionC.GetShapeInstanceResults(ref _scene, _resultList); for (int i = 0; i < _resultList.Count; ++i) { INTERACTION_SHAPE_INSTANCE_RESULTS result = _resultList[i]; //Behaviour might have already been unregistered during an earlier callback for this simulation step IInteractionBehaviour interactionBehaviour; if (_instanceHandleToBehaviour.TryGetValue(result.handle, out interactionBehaviour)) { try { // ShapeInstanceResultFlags.None may be returned if requested when hands are not touching. interactionBehaviour.NotifyRecievedSimulationResults(result); } catch (Exception e) { _activityManager.NotifyMisbehaving(interactionBehaviour); Debug.LogException(e); } } } }