void IProvidesTransformManipulators.SetManipulatorsVisible(IUsesTransformManipulators setter, bool visible) { if (visible) { m_ManipulatorVisibleRequests.Add(setter); } else { m_ManipulatorVisibleRequests.Remove(setter); } var manipulatorsNeeded = m_ManipulatorVisibleRequests.Count > 0; if (!m_ManipulatorVisible && manipulatorsNeeded) { CreateManipulators(); } else if (m_ManipulatorVisible && !manipulatorsNeeded) { DestroyManipulators(); } UpdateAllManipulators(); }
/// <summary> /// Returns whether the manipulator is in the dragging state /// </summary> /// <param name="user">The functionality user</param> /// <returns>Whether the manipulator is currently being dragged</returns> public static bool GetManipulatorDragState(this IUsesTransformManipulators user) { return(user.provider.GetManipulatorDragState()); }
/// <summary> /// Cycle to the next group of manipulators available /// </summary> /// <param name="user">The functionality user</param> public static void NextManipulatorGroup(this IUsesTransformManipulators user) { user.provider.NextManipulatorGroup(); }
/// <summary> /// Sets the transforms for the manipulators to affect /// </summary> /// <param name="user">The functionality user</param> /// <param name="selectionTransforms">Array of selected transforms</param> /// <param name="activeTransform">The active selection transform</param> public static void SetManipulatorSelection(this IUsesTransformManipulators user, Transform[] selectionTransforms, Transform activeTransform) { user.provider.SetManipulatorSelection(selectionTransforms, activeTransform); }
/// <summary> /// Set the current manipulator group by name. /// </summary> /// <param name="user">The functionality user</param> /// <param name="groupName">The name of the manipulator group</param> public static void SetManipulatorGroup(this IUsesTransformManipulators user, string groupName) { user.provider.SetManipulatorGroup(groupName); }
/// <summary> /// Show or hide the manipulators /// </summary> /// <param name="user">The functionality user</param> /// <param name="requester">The requesting object that is wanting to set all manipulators visible or hidden</param> /// <param name="visibility">Whether the manipulators should be shown or hidden</param> public static void SetManipulatorsVisible(this IUsesTransformManipulators user, IUsesTransformManipulators requester, bool visibility) { user.provider.SetManipulatorsVisible(requester, visibility); }