public override void GenerateList()
    {
        base.GenerateList();

        Debug.Log("CollapsableObjectiveList");

        if (stageIndex < 0)
        {
            //Debug.LogWarning("Objective List stage index is empty");
            return;
        }

        string questID = stageList.GetQuestId();
        Quest  quest   = QuestManager.Instance.GetQuest(questID);
        Stage  stage   = quest.GetStage(stageIndex);

        Objective[] objectives = stage.GetObjectives();

        for (int i = 0; i < objectives.Length; i++)
        {
            GameObject item = Instantiate(menuItem, transform, false);
            CollapsableObjectiveMenu menu = item.GetComponent <CollapsableObjectiveMenu>();

            item.transform.SetAsLastSibling();
            menu.list = this;
            menuItems.Add(item);
            menu.SetObjectiveIndex(i);

            AlignList();
        }
    }
    public override void AddItem()
    {
        base.AddItem();

        //List<Stage> stages = QuestManager.Instance.GetQuest(stageIndex).GetStages().ToList<Stage>();
        //Stage newStage = new Stage(500);
        //stages.Add(newStage);
        //QuestManager.Instance.GetQuest(stageIndex).DefineStages(stages.ToArray());

        GameObject item = Instantiate(menuItem, transform, false);
        CollapsableObjectiveMenu menu = item.GetComponent <CollapsableObjectiveMenu>();

        item.transform.SetAsLastSibling();
        menu.list = this;
        menuItems.Add(item);
        menu.SetObjectiveIndex(69);

        AlignList();
    }