public void HandlePlayHavenManagerOnRewardGiven(int hashCode, PlayHaven.Reward reward)
        {
            if (contentRequestId == hashCode)
            {
                switch (rewardMessageType)
                {
                case MessageType.Broadcast:
                    BroadcastMessage("OnPlayHavenRewardGiven", reward);
                    break;

                case MessageType.Send:
                    SendMessage("OnPlayHavenRewardGiven", reward);
                    break;

                case MessageType.Upwards:
                    SendMessageUpwards("OnPlayHavenRewardGiven", reward);
                    break;
                }
            }
        }
        IEnumerator _Request(bool refetch)
        {
            if (whenToRequest == WhenToRequest.Manual && requestDelay > 0)
                yield return new WaitForSeconds(requestDelay);
            bool doRequest = true;

            if (requestIsInProgress)
            {
                if (Debug.isDebugBuild)
                    Debug.Log("request is in progress; not making another request");
                doRequest = false;
            }

            if (exhausted)
            {
                if (Application.isEditor)
                    Debug.LogWarning("content requester has been exhausted");
                doRequest = false;
            }

            if (doRequest)
            {
                this.refetch = refetch;

                if (Manager)
                {
                    if (placement.Length > 0)
                    {
                        Manager.OnDismissContent += HandlePlayHavenManagerOnDismissContent;

                        /*
                        if (pauseGameWhenDisplayed)
                        {
                            //Manager.OnWillDisplayContent += HandleManagerOnWillDisplayContent;
                            Manager.OnDidDisplayContent += HandleManagerOnDidDisplayContent;
                        }
                        */

                        if (rewardMayBeDelivered)
                        {
                            Manager.OnRewardGiven -= HandlePlayHavenManagerOnRewardGiven;
                            Manager.OnRewardGiven += HandlePlayHavenManagerOnRewardGiven;
                        }

                        #if UNITY_EDITOR
                        contentRequestId = Manager.ContentRequest(placement, showsOverlayImmediately, this);
                        if (useDefaultTestReward && defaultTestRewardName.Length > 0)
                        {
                            PlayHaven.Reward reward = new PlayHaven.Reward();
                            reward.name = defaultTestRewardName;
                            reward.quantity = defaultTestRewardQuantity;
                            HandlePlayHavenManagerOnRewardGiven(contentRequestId, reward);
                        }
                        #else
                        requestIsInProgress = true;
                        contentRequestId = Manager.ContentRequest(placement, showsOverlayImmediately);
                        #endif
                    }
                    else if (Debug.isDebugBuild)
                        Debug.LogError("placement value not set in PlayHaventContentRequester");
                }
                //else if (Debug.isDebugBuild)
                //	Debug.LogWarning("PlayHaven manager is not available in the scene. Content requests cannot be initiated.");

                uses++;
                if (limitedUse && !rewardMayBeDelivered && uses >= maxUses)
                {
                    Exhaust();
                }
            }
        }
        IEnumerator _Request(bool refetch)
        {
            if (whenToRequest == WhenToRequest.Manual && requestDelay > 0)
            {
                yield return(new WaitForSeconds(requestDelay));
            }
            bool doRequest = true;

            if (requestIsInProgress)
            {
                if (Debug.isDebugBuild)
                {
                    Debug.Log("request is in progress; not making another request");
                }
                doRequest = false;
            }

            if (exhausted)
            {
                if (Application.isEditor)
                {
                    Debug.LogWarning("content requester has been exhausted");
                }
                doRequest = false;
            }

            if (doRequest)
            {
                this.refetch = refetch;

                if (Manager)
                {
                    if (placement.Length > 0)
                    {
                        Manager.OnDismissContent += HandlePlayHavenManagerOnDismissContent;

                        /*
                         * if (pauseGameWhenDisplayed)
                         * {
                         *      //Manager.OnWillDisplayContent += HandleManagerOnWillDisplayContent;
                         *      Manager.OnDidDisplayContent += HandleManagerOnDidDisplayContent;
                         * }
                         */

                        if (rewardMayBeDelivered)
                        {
                            Manager.OnRewardGiven -= HandlePlayHavenManagerOnRewardGiven;
                            Manager.OnRewardGiven += HandlePlayHavenManagerOnRewardGiven;
                        }

                                                #if UNITY_EDITOR
                        contentRequestId = Manager.ContentRequest(placement, showsOverlayImmediately, this);
                        if (useDefaultTestReward && defaultTestRewardName.Length > 0)
                        {
                            PlayHaven.Reward reward = new PlayHaven.Reward();
                            reward.name     = defaultTestRewardName;
                            reward.quantity = defaultTestRewardQuantity;
                            HandlePlayHavenManagerOnRewardGiven(contentRequestId, reward);
                        }
                                                #else
                        requestIsInProgress = true;
                        contentRequestId    = Manager.ContentRequest(placement, showsOverlayImmediately);
                                                #endif
                    }
                    else if (Debug.isDebugBuild)
                    {
                        Debug.LogError("placement value not set in PlayHaventContentRequester");
                    }
                }
                //else if (Debug.isDebugBuild)
                //	Debug.LogWarning("PlayHaven manager is not available in the scene. Content requests cannot be initiated.");

                uses++;
                if (limitedUse && !rewardMayBeDelivered && uses >= maxUses)
                {
                    Exhaust();
                }
            }
        }