private void DisplayContent(Content content = null) { if (contentsStack.Count <= 0 && content == null) { //S'il n'y a plus de contenu à afficher et qu'on cherche à en afficher, c'est la fin de la scène //Instantiate(EndButton, tabletContentContainer); return; } else { GameObject contentToInstantiate; if (content == null) { currentContent = contentsStack.Pop(); } else { currentContent = content; } //Debug.Log(currentContent.CompleteEvent.GetPersistentEventCount()); //Si le contenu à afficher n'a pas d'événement indiqué, comme ceux ajouté dynamiquement if (currentContent.CompleteEvent.GetPersistentEventCount() == 0) { contentDisplayer.onContentCompleteDelegate = DisplayNextContent; } else { contentDisplayer.onContentCompleteDelegate = currentContent.CompleteEvent.Invoke; } currentContent.AddObserver(contentDisplayer); if (currentContent.GetType() == typeof(SimpleText)) { SimpleText st = (SimpleText)currentContent; //Sans un titre if (st.textData.title == "") { simpleTextPref.SetActive(false); contentToInstantiate = Instantiate(simpleTextPref, tabletContentContainer); contentToInstantiate.GetComponent <TextHolder>().simpleText = st; simpleTextPref.SetActive(true); } //Avec un titre else { titledTextPref.SetActive(false); contentToInstantiate = Instantiate(titledTextPref, tabletContentContainer); contentToInstantiate.GetComponent <TextHolder>().simpleText = st; Debug.Log(contentToInstantiate.GetComponent <TextHolder>().simpleText.textData.content); titledTextPref.SetActive(true); } } else if (currentContent.GetType() == typeof(OpenQuestion) || currentContent.GetType() == typeof(ClosedQuestion)) { if (currentContent.GetType() == typeof(OpenQuestion)) { openQuestionPref.SetActive(false); OpenQuestion oq = (OpenQuestion)currentContent; contentToInstantiate = Instantiate(openQuestionPref, tabletContentContainer); contentToInstantiate.GetComponent <OpenQuestionHolder>().openQuestion = oq; openQuestionPref.SetActive(true); } else { closedQuestionPreb.SetActive(false); ClosedQuestion cq = (ClosedQuestion)currentContent; contentToInstantiate = Instantiate(closedQuestionPreb, tabletContentContainer); contentToInstantiate.GetComponent <ClosedQuestionHolder>().closedQuestion = cq; closedQuestionPreb.SetActive(true); } } else { contentToInstantiate = Instantiate(fillGapsPref, tabletContentContainer); } contentToInstantiate.SetActive(true); currentGameObjectToShow = contentToInstantiate; } Resizer.ResizeHeight(tabletContentContainer.GetComponent <RectTransform>()); StartCoroutine(nameof(DisplayScrollArrow)); }