// Resets the response booleans to default values so another request can be made void ResetResponse(bool fakeDecline = false) { m_hasServerResponded = fakeDecline; m_ticketValidityResponse = false; m_itemAddResponse.Reset(); m_itemRequestResponse.Reset(); }
// This function should be called using Invoke() after the desired period of time IEnumerator ExpireItemTicket(ItemTicket toExpire, float timeToWait) { //Debug.Log("Waiting to expire ticket: " + toExpire + " in " + timeToWait); // Wait for the desired amount of time yield return(new WaitForSeconds(timeToWait)); // Tickets which have been redeemed will be reset to the standard ticket if (toExpire.IsValid()) { // Only the server needs to manage whether the item is flagged as requested or not if (Network.isServer) { // Obtain the index int index = DetermineTicketIndex(toExpire); // Flag the item as unrequested if (IsValidIndex(index)) { // Reset the request m_isItemRequested[index] = false; } // Must be an add request else { --addRequests; } } // Reset the ticket to ensure it's invalid toExpire.Reset(); Debug.Log("Expiring ItemTicket: " + toExpire.uniqueID + " / " + toExpire.itemID + " / " + toExpire.itemIndex); } }