public void ClearFeedbackRequests(IUsesRequestFeedback caller) { // Check for null in order to prevent MissingReferenceException when exiting EXR if (m_LeftProxyNode && m_RightProxyNode) { m_LeftProxyNode.ClearFeedbackRequests(caller); m_RightProxyNode.ClearFeedbackRequests(caller); } }
/// <summary> /// Get a pooled FeedbackRequest object from the system /// </summary> /// <param name="user">The functionality user</param> /// <typeparam name="TRequest">The desired type of feedback request</typeparam> /// <param name="caller">The caller object</param> /// <returns>A feedback request object in its default initial state</returns> public static TRequest GetFeedbackRequestObject <TRequest>(this IUsesRequestFeedback user, IUsesRequestFeedback caller) where TRequest : FeedbackRequest, new() { #if FI_AUTOFILL return(default(FeedbackRequest)); #else return(user.provider.GetFeedbackRequestObject <TRequest>(caller)); #endif }
public void ClearFeedbackRequests(IUsesRequestFeedback caller) { if (caller == null) // Requesters are not allowed to clear all requests { return; } foreach (var receiver in m_FeedbackReceivers) { receiver.ClearFeedbackRequests(caller); } }
public void ClearFeedbackRequests(IUsesRequestFeedback caller) { k_FeedbackRequestsCopy.Clear(); foreach (var request in m_FeedbackRequests) { if (request.caller == caller) { k_FeedbackRequestsCopy.Add(request); } } foreach (var request in k_FeedbackRequestsCopy) { RemoveFeedbackRequest(request); } }
public TRequest GetFeedbackRequestObject <TRequest>(IUsesRequestFeedback caller) where TRequest : FeedbackRequest, new() { Queue <FeedbackRequest> pool; if (!m_FeedbackRequestPool.TryGetValue(typeof(TRequest), out pool)) { pool = new Queue <FeedbackRequest>(); m_FeedbackRequestPool[typeof(TRequest)] = pool; } if (pool.Count > 0) { var request = pool.Dequeue(); request.Reset(); request.caller = caller; return((TRequest)request); } return(new TRequest { caller = caller }); }
/// <summary> /// Clear all feedback requests submitted by this caller from the system /// </summary> /// <param name="user">The functionality user</param> /// <param name="caller">The caller object</param> public static void ClearFeedbackRequests(this IUsesRequestFeedback user, IUsesRequestFeedback caller) { #if !FI_AUTOFILL user.provider.ClearFeedbackRequests(caller); #endif }
/// <summary> /// Remove a feedback request from the system /// </summary> /// <param name="user">The functionality user</param> /// <param name="request">The feedback request</param> public static void RemoveFeedbackRequest(this IUsesRequestFeedback user, FeedbackRequest request) { #if !FI_AUTOFILL user.provider.RemoveFeedbackRequest(request); #endif }