Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ItemQuestTracker.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3
4public class ItemQuestTracker : EMono
5{
6 private FastString sb = new FastString();
7
8 private FastString lastSb = new FastString();
9
11
12 public Quest quest;
13
14 public UIText text;
15
17
19
20 public void Refresh()
21 {
22 if (!quest.track || !EMono.game.quests.list.Contains(quest))
23 {
24 Kill();
25 return;
26 }
27 sb.Clear();
29 {
30 sb.Append("- " + "days1".lang() + quest.TextDeadline);
31 sb.Append(Environment.NewLine);
32 }
33 string value = quest.GetTrackerText().TrimEnd(Environment.NewLine.ToCharArray());
34 sb.Append(value);
35 bool enable = false;
36 if (quest is QuestDeliver)
37 {
38 QuestDeliver questDeliver = quest as QuestDeliver;
39 if (!questDeliver.IsDeliver || EMono._zone == questDeliver.DestZone)
40 {
41 Chara tg = EMono._map.FindChara(questDeliver.IsDeliver ? questDeliver.uidTarget : (questDeliver.person.chara?.uid ?? 0));
42 if (tg != null)
43 {
44 enable = true;
45 buttonGoto.SetOnClick(delegate
46 {
47 if (!EMono.pc.HasNoGoal)
48 {
49 SE.BeepSmall();
50 }
51 else
52 {
53 EMono.pc.SetAIImmediate(new AI_Goto(tg, 1));
54 }
55 });
56 }
57 }
58 }
59 buttonGoto.SetActive(enable);
60 if (!sb.Equals(lastSb))
61 {
62 this.SetActive(enable: true);
65 lastSb.Set(sb);
66 this.RebuildLayout();
67 }
68 }
69
70 public void OnClickClose()
71 {
72 if ((bool)EMono.ui.GetLayer<LayerJournal>())
73 {
74 return;
75 }
76 quest.track = false;
77 Kill();
78 SE.Trash();
80 {
82 if ((bool)LayerCraft.Instance)
83 {
85 }
86 }
87 }
88
89 public void Kill()
90 {
92 {
94 UnityEngine.Object.DestroyImmediate(base.gameObject);
95 }
96 }
97}
int uid
Definition: Card.cs:118
Definition: Chara.cs:10
bool HasNoGoal
Definition: Chara.cs:821
Definition: EMono.cs:4
static Chara pc
Definition: EMono.cs:13
static Zone _zone
Definition: EMono.cs:19
static Game game
Definition: EMono.cs:7
static UI ui
Definition: EMono.cs:15
static Map _map
Definition: EMono.cs:17
override string ToString()
Definition: FastString.cs:36
FastString Append(string value)
Definition: FastString.cs:119
FastString Clear()
Definition: FastString.cs:112
void Set(string str)
Definition: FastString.cs:66
QuestManager quests
Definition: Game.cs:179
static LayerCraft Instance
Definition: LayerCraft.cs:8
void RefreshTrackButton()
Definition: LayerCraft.cs:434
Chara FindChara(string id)
Definition: Map.cs:2546
Chara chara
Definition: Person.cs:36
virtual bool IsDeliver
List< Quest > list
Definition: QuestManager.cs:11
void Remove(Quest q)
Definition: QuestManager.cs:67
Definition: Quest.cs:7
virtual bool UseInstanceZone
Definition: Quest.cs:183
string TextDeadline
Definition: Quest.cs:136
Person person
Definition: Quest.cs:73
virtual string GetTrackerText()
Definition: Quest.cs:618
int deadline
Definition: Quest.cs:46
virtual string GetTitle()
Definition: Quest.cs:608
bool track
Definition: Quest.cs:70
Definition: UIText.cs:6
void SetText(string s)
Definition: UIText.cs:159
List< ItemQuestTracker > items
static WidgetQuestTracker Instance