/// <summary> /// Return the current drop receiver for a particular UI interactor. /// This is an IDropReceiver object that the UI interactor is currently hovering over while dragging an IDroppable object. /// </summary> /// <param name="uiInteractor">A UI interactor from the interaction system.</param> /// <returns>The IDropReceiver object that is currently being targeted by the interactor. If there is none, returns null.</returns> public IDropReceiver GetCurrentDropReceiver(IUIInteractor uiInteractor) { if (m_DropReceivers.TryGetValue(uiInteractor, out var dropReceiver)) { return(dropReceiver); } return(null); }
void SetCurrentDropReceiver(IUIInteractor uiInteractor, IDropReceiver dropReceiver) { if (dropReceiver == null) { m_DropReceivers.Remove(uiInteractor); } else { m_DropReceivers[uiInteractor] = dropReceiver; } }
public RegisteredInteractor(IUIInteractor interactor, int deviceIndex) { this.interactor = interactor; model = new TrackedDeviceModel(deviceIndex); }
/// <summary> /// Returns the current droppable data object for a particular UI interactor. /// This is the generic object data associated with an IDroppable being dragged by the UI interactor. /// </summary> /// <param name="uiInteractor">A UI interactor from the interaction system.</param> /// <returns>The droppable object data from the interactor's current IDroppable. If there is none, returns null.</returns> public object GetCurrentDropObject(IUIInteractor uiInteractor) { return(m_Droppables.TryGetValue(uiInteractor, out var droppable) ? droppable.GetDropObject() : null); }