113 lines
3.4 KiB
C#
Raw Normal View History

2025-05-29 20:41:47 +05:00
using UnityEngine;
using UnityEngine.UI;
using TMPro;
2025-06-07 19:06:25 +05:00
using ArabicSupport;
2025-05-29 20:41:47 +05:00
public class MiniQuizManager : MonoBehaviour
{
2025-06-07 19:06:25 +05:00
public Button[] answerButtons; // A, B, C, D
public TextMeshProUGUI[] answerLabels; // Corresponding TMP labels
2025-05-29 20:41:47 +05:00
public TextMeshProUGUI feedbackText;
private string[] answerTexts = new string[]
{
"Typos in the subject",
"Urgent language",
"Mismatched sender email",
"All of the above"
};
2025-06-07 19:06:25 +05:00
private string[] answerTextsAr = new string[]
{
"أخطاء مطبعية في العنوان",
"لغة مستعجلة",
"عنوان بريد مرسل غير متطابق",
"جميع ما سبق"
};
2025-05-29 20:41:47 +05:00
private int correctIndex = 3;
public void SubmitAnswer(int selectedIndex)
{
2025-06-07 19:06:25 +05:00
bool isArabic = LanguageManager.Instance != null &&
LanguageManager.Instance.currentLanguage == "Arabic";
2025-05-29 20:41:47 +05:00
string selectedAnswer = answerTexts[selectedIndex];
2025-06-07 19:06:25 +05:00
string selectedAnswerAr = answerTextsAr[selectedIndex];
// Log the selected answer
UserActionLogger.Instance?.LogQuizAnswer(selectedAnswer, selectedAnswerAr);
2025-05-29 20:41:47 +05:00
2025-06-07 19:06:25 +05:00
// Show feedback
2025-05-29 20:41:47 +05:00
if (selectedIndex == correctIndex)
{
2025-06-07 19:06:25 +05:00
feedbackText.text = isArabic
? ArabicFixer.Fix("✅ إجابة صحيحة! جميعها كانت إشارات خطر.")
: "✅ Correct! All of those were red flags.";
2025-05-29 20:41:47 +05:00
}
else
{
2025-06-07 19:06:25 +05:00
string correctAnswer = answerTexts[correctIndex];
string correctAnswerAr = answerTextsAr[correctIndex];
feedbackText.text = isArabic
? ArabicFixer.Fix($"❌ ليست الإجابة الصحيحة. الإجابة الصحيحة هي: {correctAnswerAr}")
: $"❌ Not quite. The correct answer was: {correctAnswer}";
2025-05-29 20:41:47 +05:00
}
2025-06-07 19:06:25 +05:00
// Disable all buttons
2025-05-29 20:41:47 +05:00
foreach (var btn in answerButtons)
btn.interactable = false;
2025-06-07 19:06:25 +05:00
// Prepend a ✅ to the selected label
2025-05-29 20:41:47 +05:00
answerLabels[selectedIndex].text = "✅ " + answerLabels[selectedIndex].text;
}
}
2025-06-07 19:06:25 +05:00
//using UnityEngine;
//using UnityEngine.UI;
//using TMPro;
//public class MiniQuizManager : MonoBehaviour
//{
// public Button[] answerButtons; // Assign in order: A, B, C, D
// public TextMeshProUGUI[] answerLabels; // Same order as buttons
// public TextMeshProUGUI feedbackText;
// private string[] answerTexts = new string[]
// {
// "Typos in the subject",
// "Urgent language",
// "Mismatched sender email",
// "All of the above"
// };
// private int correctIndex = 3;
// public void SubmitAnswer(int selectedIndex)
// {
// string selectedAnswer = answerTexts[selectedIndex];
// UserActionLogger.Instance?.LogQuizAnswer(selectedAnswer);
// // Feedback
// if (selectedIndex == correctIndex)
// {
// feedbackText.text = "✅ Correct! All of those were red flags.";
// }
// else
// {
// feedbackText.text = $"❌ Not quite. The correct answer was: {answerTexts[correctIndex]}";
// }
// // Lock all buttons
// foreach (var btn in answerButtons)
// {
// btn.interactable = false;
// }
// // Mark selected
// answerLabels[selectedIndex].text = "✅ " + answerLabels[selectedIndex].text;
// }
//}