NewQuestionsPanel.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class NewQuestionsPanel : MonoBehaviour
  6. {
  7. public GameObject QuestionAnswerLine;
  8. public Text AnswerText;
  9. public Text QuestionText;
  10. public Text backCategoryText;
  11. public GameObject QuestioncardBackside;
  12. private NewQuestionData questionData;
  13. private GameManagerScript gameManagerScript;
  14. public NewQuestionData QuestionData { get => questionData; set => questionData = value; }
  15. [SerializeField] GameObject gameManager;
  16. // Start is called before the first frame update
  17. void Start()
  18. {
  19. gameManagerScript = gameManager.GetComponent<GameManagerScript>();
  20. int gameId = gameManagerScript.GameId;
  21. string gameMode = Database.Instance.GetGameMode(gameId);
  22. string currentPlayer = Database.Instance.GetCurrentPlayer(gameId, gameMode);
  23. if (Database.Instance.GetRoundValue(gameManagerScript.GameId, gameManagerScript.GameMode) <= 1) {
  24. List<NewQuestionData> usersQuestions = Database.Instance.GetPlayerQuestions(gameId, currentPlayer, gameManagerScript.GameMode);
  25. NewQuestionData qd = usersQuestions[0];
  26. AnswerText.text = qd.Answer;
  27. QuestionText.text = qd.Question;
  28. QuestionData = qd;
  29. }
  30. }
  31. private void Awake() {
  32. if (gameManagerScript == null) {
  33. gameManagerScript = gameManager.GetComponent<GameManagerScript>();
  34. }
  35. if (Database.Instance.GetRoundValue(gameManagerScript.GameId, gameManagerScript.GameMode) > 1) {
  36. generateNewQuestion();
  37. }
  38. }
  39. // Update is called once per frame
  40. void Update()
  41. {
  42. }
  43. public void generateNewQuestion() {
  44. AnswerLineQuestionCard[] answerLineQuestions = QuestionAnswerLine.GetComponentsInChildren<AnswerLineQuestionCard>();
  45. List<int> answerIds = new List<int>();
  46. foreach (var aq in answerLineQuestions) {
  47. answerIds.Add(aq.GetId());
  48. }
  49. string user = Database.Instance.GetSignedInUser().Value;
  50. QuestionData = Database.Instance.GetNewQuestion(answerIds, user,gameManager.GetComponent<GameManagerScript>().GameMode);
  51. // QuestionData = OnlineDatabase.Instance.GetNewQuestion(answerIds, user);
  52. AnswerText.text = "???? - ????";
  53. QuestionText.text = QuestionData.Question;
  54. backCategoryText.text = QuestionData.CategoryName;
  55. QuestioncardBackside.GetComponent<Image>().color = QuestionData.CategoryColor;
  56. }
  57. }