ScrollViewScript.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using UnityEngine.EventSystems;
  6. public class ScrollViewScript : MonoBehaviour, IDropHandler {
  7. public GameObject prefab;
  8. public Transform contentPanel;
  9. private bool placeQuestion;
  10. NewQuestion nq;
  11. private int newQuestionSiblingIndex;
  12. // Start is called before the first frame update
  13. void Start() {
  14. SetGiventQuestion();
  15. }
  16. public void SetGiventQuestion() {
  17. // if new game, create one question card to start with
  18. GameObject question = Instantiate(prefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
  19. QuestionCard questionCard = question.GetComponent<QuestionCard>();
  20. questionCard.PrepareQuestion("QuestionText", "AnswerText");
  21. questionCard.GetQuestion(true);
  22. questionCard.SetQuestionSafe();
  23. questionCard.transform.SetSiblingIndex(0);
  24. questionCard.transform.SetParent(contentPanel);
  25. }
  26. public void OnDrop(PointerEventData eventData) {
  27. Draggable d = eventData.pointerDrag.GetComponent<Draggable>();
  28. if (d == null || !d.gameObject.name.Contains("NewQuestion")) {
  29. return;
  30. }
  31. // Popup modal asking are you sure here or at onDragEnd?
  32. nq = d.GetComponent<NewQuestion>();
  33. newQuestionSiblingIndex = d.placeholder.transform.GetSiblingIndex();
  34. ModalPanel modalPanel = ModalPanel.Instance();
  35. ModalPanelDetails modalDetails = new ModalPanelDetails { question = "Vill du svara att " + nq.GetQuestionText().text + " hände " + nq.GetAnswerText().text + "?", iconImage = null };
  36. modalDetails.button1Details = new EventButtonDetails { buttonTitle = "Ja", action = YesFunction };
  37. modalDetails.button2Details = new EventButtonDetails { buttonTitle = "Nej", action = NoFunction };
  38. modalPanel.NewChoice(modalDetails);
  39. }
  40. void YesFunction() {
  41. GameObject question = Instantiate(prefab, new Vector2(0, 0), Quaternion.identity) as GameObject;
  42. QuestionCard questionCard = question.GetComponent<QuestionCard>();
  43. questionCard.SetAnswerText(nq.answerString);
  44. questionCard.SetQuestionText(nq.questionString);
  45. questionCard.questionString = nq.questionString;
  46. questionCard.answerString = nq.answerString;
  47. questionCard.categoryString = nq.categoryString;
  48. questionCard.idString = nq.idString;
  49. questionCard.transform.SetParent(contentPanel);
  50. questionCard.transform.SetSiblingIndex(newQuestionSiblingIndex);
  51. }
  52. void NoFunction() {
  53. }
  54. }