summaryrefslogtreecommitdiff
path: root/GameCode/QuestEntry.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-11-02 11:51:31 +0800
committerchai <215380520@qq.com>2023-11-02 11:51:31 +0800
commit7f493f682503f5186308de7b8f74b5b49233cfe4 (patch)
tree8a91e2056bc79788ee4735dce88b8d516ba12beb /GameCode/QuestEntry.cs
+init
Diffstat (limited to 'GameCode/QuestEntry.cs')
-rw-r--r--GameCode/QuestEntry.cs87
1 files changed, 87 insertions, 0 deletions
diff --git a/GameCode/QuestEntry.cs b/GameCode/QuestEntry.cs
new file mode 100644
index 0000000..625cbab
--- /dev/null
+++ b/GameCode/QuestEntry.cs
@@ -0,0 +1,87 @@
+using I2.Loc;
+using TMPro;
+using UnityEngine;
+
+public class QuestEntry : MonoBehaviour
+{
+ public TextMeshProUGUI questText;
+
+ public TextMeshProUGUI numericalCondition;
+
+ public GameObject equippableConditionsParent;
+
+ public QuestConditionEquippable equippableConditionPrefab;
+
+ public CanvasGroup canvasGroup;
+
+ public void Init(Quest data, int index, bool completed)
+ {
+ string text = "<style=\"Body Bold Italic\">";
+ switch (index)
+ {
+ case 0:
+ text += "A.";
+ break;
+ case 1:
+ text += "B.";
+ break;
+ case 2:
+ text += "C.";
+ break;
+ case 3:
+ text += "D.";
+ break;
+ case 4:
+ text += "E.";
+ break;
+ case 5:
+ text += "F.";
+ break;
+ case 6:
+ text += "G.";
+ break;
+ case 7:
+ text += "H.";
+ break;
+ }
+ text += " ";
+ text += "<style=\"Body Light\">";
+ switch (data.questType)
+ {
+ case Quest.EType.AchieveScoreOf:
+ equippableConditionsParent.SetActive(value: false);
+ numericalCondition.gameObject.SetActive(value: true);
+ numericalCondition.text = data.achieveScoreOf.ToString();
+ text += LocalizationManager.GetTranslation("Quests/Achieve Score");
+ break;
+ case Quest.EType.BeatTheLevel:
+ equippableConditionsParent.SetActive(value: false);
+ numericalCondition.gameObject.SetActive(value: false);
+ text += LocalizationManager.GetTranslation("Quests/Achieve Victory");
+ break;
+ case Quest.EType.BeatTheLevelWith:
+ equippableConditionsParent.SetActive(value: true);
+ numericalCondition.gameObject.SetActive(value: false);
+ text += LocalizationManager.GetTranslation("Quests/Achieve Victory With");
+ foreach (Equippable item in data.beatTheLevelWith)
+ {
+ Object.Instantiate(equippableConditionPrefab, equippableConditionsParent.transform).SetData(item);
+ }
+ break;
+ case Quest.EType.BeatTheLevelWithout:
+ equippableConditionsParent.SetActive(value: true);
+ numericalCondition.gameObject.SetActive(value: false);
+ text += LocalizationManager.GetTranslation("Quests/Achieve Victory Without");
+ foreach (Equippable item2 in data.beatTheLevelWithout)
+ {
+ Object.Instantiate(equippableConditionPrefab, equippableConditionsParent.transform).SetData(item2);
+ }
+ break;
+ }
+ questText.text = text;
+ if (completed)
+ {
+ canvasGroup.alpha = 0.1f;
+ }
+ }
+}