private void InitializeTextObject(
        Script_InteractableObjectText iObj,
        List <Script_InteractableObject> interactableObjects,
        Script_DialogueManager dialogueManager,
        Script_Player player
        )
    {
        interactableObjects.Add(iObj);
        iObj.SetupDialogueNodeText(dialogueManager, player);
        iObj.Id = interactableObjects.Count - 1;

        Script_SortingOrder so = iObj.GetRendererChild().GetComponent <Script_SortingOrder>();

        iObj.Setup(so.enabled, so.sortingOrderIsAxisZ, so.offset);
    }
    public void SetupInteractableObjectsText(
        Transform textObjectParent,
        List <Script_InteractableObject> interactableObjects,
        Script_DialogueManager dm,
        Script_Player player,
        bool isInitialize
        )
    {
        Script_InteractableObjectText[] texts = textObjectParent
                                                .GetComponentsInChildren <Script_InteractableObjectText>(true);

        for (int i = 0; i < texts.Length; i++)
        {
            Script_InteractableObjectText text = texts[i];
            if (isInitialize)
            {
                InitializeTextObject(text, interactableObjects, dm, player);
            }
        }
    }
    /// <summary>
    /// used when needing to specify particular textObj array instead of a parent
    /// </summary>
    public void SetupInteractableObjectsTextManually(
        Script_InteractableObjectText[] textObjs,
        List <Script_InteractableObject> interactableObjects,
        Script_DialogueManager dm,
        Script_Player player,
        bool isInitialize
        )
    {
        for (int i = 0; i < textObjs.Length; i++)
        {
            Script_InteractableObjectText iObj = textObjs[i];
            interactableObjects.Add(iObj);

            if (isInitialize)
            {
                InitializeTextObject(iObj, interactableObjects, dm, player);
            }
        }

        if (Debug.isDebugBuild && Const_Dev.IsDevMode)
        {
            Debug.Log("interactable objects count: " + interactableObjects.Count);
        }
    }