public GameObject SpawnExtraLifeFeedback(int extraLives, Vector3 position)
    {
        GameObject       go  = Instantiate(extraLifePrefab) as GameObject;
        ShotFeedbackUnit sfu = go.GetComponent <ShotFeedbackUnit>();

        if (sfu != null)
        {
            sfu.SetText("+" + extraLives.ToString());
            sfu.SetPosition(Camera.main.WorldToViewportPoint(position));
            ConfigureShotFeedback(ShotFeedbackTypes.ExtraLife, sfu);
            sfu.AdjustGUISize();
        }

        return(go);
    }
    public GameObject SpawnShotReviewFeedback(string feedbackText)
    {
        GameObject       go  = Instantiate(shotFeedbackPrefab) as GameObject;
        ShotFeedbackUnit sfu = go.GetComponent <ShotFeedbackUnit>();

        if (sfu != null)
        {
            sfu.SetText(feedbackText);
            sfu.SetPosition(_shotReviewFeedback);
            ConfigureShotFeedback(ShotFeedbackTypes.ShotReview, sfu);
            sfu.AdjustGUISize();
        }

        return(go);
    }
    public GameObject SpawnShotFeedback(MultiColoredString feedbackText,
                                        Vector3 feedbackPosition,
                                        ShotFeedbackTypes feedbackType)
    {
        GameObject       go  = Instantiate(shotFeedbackPrefab) as GameObject;
        ShotFeedbackUnit sfu = go.GetComponent <ShotFeedbackUnit>();

        if (sfu != null)
        {
            sfu.SetMulticoloredText(feedbackText);
            sfu.SetPosition(Camera.main.WorldToViewportPoint(feedbackPosition));
            ConfigureShotFeedback(feedbackType, sfu);
            sfu.AdjustGUISize();
        }

        return(go);
    }
    public GameObject SpawnShotFeedback(string feedbackText,
                                        Vector3 feedbackPosition,
                                        ShotFeedbackTypes feedbackType)
    {
        GameObject       go  = Instantiate(shotFeedbackPrefab) as GameObject;
        ShotFeedbackUnit sfu = go.GetComponent <ShotFeedbackUnit>();

        if (sfu != null)
        {
            sfu.SetText(feedbackText);
            Vector3 vector = Camera.main.WorldToViewportPoint(feedbackPosition);
            vector.x = Mathf.Clamp(vector.x, 0.1f, 0.9f);
            sfu.SetPosition(vector);
            ConfigureShotFeedback(feedbackType, sfu);
            sfu.AdjustGUISize();
        }

        return(go);
    }