void NextSentence()
    {
        isTyping = true;
        if (index < sentence.Length - 1)
        {
            index++;
            textDisplay.text = "";
            StartCoroutine(Talk());
            isTyping = false;
        }
        else//conversation complete
        {
            Global.HAVING_A_CONVERSATION = false;
            //my_rigidBody.isKinematic = false;
            Initialized      = false;
            conversationOver = true;
            DialogueEvents.FireAnEvent_OnDialogueEnd(this);
            //Debug.Log(this + " fired an OnDialogueEnd");
            GetComponentInParent <QuestGiver>().EnableAndAssignMyQuest(assignsQuestWhenOver);


            //Debug.Log("Conversation complete, achievement unlocked");//TODO achievement system popup
            PlayerController player = ObjectFinder.PlayerController;
            //Debug.Log("dialogue fetched " + player);

            player.alreadySpeaking    = false;
            Global.USER_INPUT_ENABLED = true;
            player.transform.rotation = Quaternion.identity;
            Rigidbody playersRigidBody = player.GetComponent <Rigidbody>();
            playersRigidBody.constraints = RigidbodyConstraints.None;           //unfreeze
            playersRigidBody.constraints = RigidbodyConstraints.FreezeRotation; //refreeze to ground
            Invoke("ClearText", 2f);
            textDisplay.enabled = false;
            FacingFriend        = false;
            //reset secret dialogue flag so they can load another conversation
            GetComponentInParent <QuestGiver>().hasDisocveredSecretDialogue = false;

            if (dialogueID == "Ip-0")
            {
                NPC_AI ip_AI = GetComponentInParent <NPC_AI>();
                ip_AI.GoHome();
            }
        }
    }