using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; public class ScrollViewScript : MonoBehaviour, IDropHandler { public GameObject prefab; public Transform contentPanel; private bool placeQuestion; NewQuestion nq; private int newQuestionSiblingIndex; // Start is called before the first frame update void Start() { SetGiventQuestion(); } public void SetGiventQuestion() { // if new game, create one question card to start with GameObject question = Instantiate(prefab, new Vector2(0, 0), Quaternion.identity) as GameObject; QuestionCard questionCard = question.GetComponent(); questionCard.PrepareQuestion("QuestionText", "AnswerText"); questionCard.GetQuestion(true); questionCard.SetQuestionSafe(); questionCard.transform.SetSiblingIndex(0); questionCard.transform.SetParent(contentPanel); } public void OnDrop(PointerEventData eventData) { Draggable d = eventData.pointerDrag.GetComponent(); if (d == null || !d.gameObject.name.Contains("NewQuestion")) { return; } // Popup modal asking are you sure here or at onDragEnd? nq = d.GetComponent(); newQuestionSiblingIndex = d.placeholder.transform.GetSiblingIndex(); ModalPanel modalPanel = ModalPanel.Instance(); ModalPanelDetails modalDetails = new ModalPanelDetails { question = "Vill du svara att " + nq.GetQuestionText().text + " hände " + nq.GetAnswerText().text + "?", iconImage = null }; modalDetails.button1Details = new EventButtonDetails { buttonTitle = "Ja", action = YesFunction }; modalDetails.button2Details = new EventButtonDetails { buttonTitle = "Nej", action = NoFunction }; modalPanel.NewChoice(modalDetails); } void YesFunction() { GameObject question = Instantiate(prefab, new Vector2(0, 0), Quaternion.identity) as GameObject; QuestionCard questionCard = question.GetComponent(); questionCard.SetAnswerText(nq.answerString); questionCard.SetQuestionText(nq.questionString); questionCard.questionString = nq.questionString; questionCard.answerString = nq.answerString; questionCard.categoryString = nq.categoryString; questionCard.idString = nq.idString; questionCard.transform.SetParent(contentPanel); questionCard.transform.SetSiblingIndex(newQuestionSiblingIndex); } void NoFunction() { } }