Elin Decompiled Documentation EA 23.219 Nightly
Loading...
Searching...
No Matches
WidgetDate.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3using UnityEngine;
4using UnityEngine.UI;
5
6public class WidgetDate : Widget
7{
8 public class Extra
9 {
10 public bool date;
11
12 public bool realDate;
13
14 public bool period;
15
16 public bool room;
17
18 public bool clock;
19
20 public bool loc;
21
22 public bool weather;
23 }
24
25 public static WidgetDate Instance;
26
27 public Text textTime;
28
29 public Text textLevel;
30
31 public RectTransform rectClock;
32
33 public Image imageHour;
34
36
37 public Extra extra => base.config.extra as Extra;
38
39 public override object CreateExtra()
40 {
41 return new Extra();
42 }
43
44 public override void OnActivate()
45 {
46 Instance = this;
47 _Refresh();
48 InvokeRepeating("_Refresh", 0.1f, 0.1f);
49 }
50
51 public void _Refresh()
52 {
53 if (EMono.game.activeZone == null)
54 {
55 return;
56 }
57 string text = "";
58 GameDate date = EMono.world.date;
59 text += (extra.date ? EMono.world.date.GetText(Date.TextFormat.Widget) : "");
60 if (extra.period)
61 {
62 text = text + " (" + EMono.world.date.periodOfDay.ToString().lang() + ") ";
63 }
64 text += (extra.realDate ? (" (" + DateTime.Now.ToString("H:mm") + ") ") : "");
65 if (extra.loc)
66 {
67 text = text + " " + EMono._zone.NameWithLevel;
69 {
70 text += EMono._zone.TextDangerLv;
71 }
73 {
74 text += "(";
75 List<Element> list = EMono._zone.ListLandFeats();
76 foreach (Element item in list)
77 {
78 if (item != list[0])
79 {
80 text += ", ";
81 }
82 text += item.Name;
83 }
84 text += ")";
85 }
86 }
87 if (EMono._zone.idCurrentSubset != null)
88 {
89 text += ("(" + (EMono._zone.idExport + "_" + EMono._zone.idCurrentSubset).lang() + ")").TagColor(colorFestival);
90 }
92 {
93 text += "zone_peace".lang().TagColor(colorFestival);
94 }
96 {
97 text = text + " <size=12>(" + EMono._zone.biome.name + "/Lv:" + EMono._zone.lv + "/Danger:" + EMono._zone.DangerLv + "/_danger:" + EMono._zone._dangerLv + "/elec:" + EMono._zone.electricity + ")</size>";
99 {
100 text += "Instance";
101 }
102 }
103 if (extra.weather)
104 {
105 text = text + " - " + EMono.world.weather.GetName();
106 }
108 {
109 Room room = EMono.pc.Cell.room;
110 if (room != null)
111 {
112 text = text + " (" + room.Name + ")";
113 }
114 if (EMono.pc.pos.area != null)
115 {
116 text = text + " (" + EMono.pc.pos.area.Name + ")";
117 }
118 }
119 text += EMono._zone.TextWidgetDate;
120 foreach (ZoneEvent item2 in EMono._zone.events.list)
121 {
122 text += item2.TextWidgetDate;
123 }
125 {
126 text += "raid_till".lang(EMono.game.survival.flags.raidLv.ToString() ?? "");
127 }
128 if (EMono.Branch != null && EMono.Branch.luckyMonth)
129 {
130 text = text + " " + "lucky_month".lang().TagColor(Msg.colors.colors["save"]);
131 }
132 if (EMono.debug.enable)
133 {
134 text += " *DEBUG MODE*";
135 }
136 textTime.text = text;
137 rectClock.SetActive(extra.clock);
138 if (extra.clock)
139 {
140 imageHour.transform.localEulerAngles = new Vector3(0f, 0f, -date.hour * 30 + 90);
141 }
142 _ = base.transform.position.x / (float)Screen.width;
143 bool flag = base.config.pivot == RectPosition.BottomRIGHT || base.config.pivot == RectPosition.TopRIGHT || base.config.pivot == RectPosition.Right;
144 this.Rect().SetPivot(flag ? 1 : 0, 0f);
145 rectClock.SetAnchor(flag ? 1 : 0, 1f, flag ? 1 : 0, 1f);
146 rectClock.anchoredPosition = new Vector2(flag ? (-60) : 60, -75f);
147 textTime.RebuildLayout();
148 }
149
150 public override void OnChangePivot()
151 {
152 _Refresh();
153 }
154
155 public static void Refresh()
156 {
157 if ((bool)Instance)
158 {
160 }
161 }
162
163 public override void OnSetContextMenu(UIContextMenu m)
164 {
165 UIContextMenu uIContextMenu = m.AddChild("setting");
166 uIContextMenu.AddToggle("showPeriodOfDay", extra.period, delegate(bool a)
167 {
168 extra.period = a;
169 _Refresh();
170 });
171 uIContextMenu.AddToggle("showRealDate", extra.realDate, delegate(bool a)
172 {
173 extra.realDate = a;
174 _Refresh();
175 });
176 uIContextMenu.AddToggle("showRoom", extra.room, delegate(bool a)
177 {
178 extra.room = a;
179 _Refresh();
180 });
181 uIContextMenu.AddToggle("showClock", extra.clock, delegate(bool a)
182 {
183 extra.clock = a;
184 _Refresh();
185 });
186 uIContextMenu.AddToggle("showLoc", extra.loc, delegate(bool a)
187 {
188 extra.loc = a;
189 _Refresh();
190 });
191 uIContextMenu.AddToggle("showWeather", extra.weather, delegate(bool a)
192 {
193 extra.weather = a;
194 _Refresh();
195 });
197 }
198}
RectPosition
Definition: RectPosition.cs:2
Point pos
Definition: Card.cs:59
Cell Cell
Definition: Card.cs:2043
Room room
Definition: Cell.cs:102
bool IsInActiveZone
Definition: Chara.cs:836
bool showExtra
Definition: CoreDebug.cs:168
bool enable
Definition: CoreDebug.cs:286
Definition: Date.cs:4
PeriodOfDay periodOfDay
Definition: Date.cs:124
string GetText(TextFormat format)
Definition: Date.cs:245
TextFormat
Definition: Date.cs:6
Definition: EMono.cs:4
static Chara pc
Definition: EMono.cs:13
static World world
Definition: EMono.cs:37
static Zone _zone
Definition: EMono.cs:19
static Game game
Definition: EMono.cs:7
static FactionBranch Branch
Definition: EMono.cs:21
static CoreDebug debug
Definition: EMono.cs:45
SurvivalManager survival
Definition: Game.cs:224
Zone activeZone
Definition: Game.cs:248
bool IsSurvival
Definition: Game.cs:272
UD_String_Color colors
Definition: MsgColors.cs:23
Definition: Msg.cs:5
static MsgColors colors
Definition: Msg.cs:20
Area area
Definition: Point.cs:73
Definition: Room.cs:4
string idCurrentSubset
Definition: Spatial.cs:28
virtual bool isClaimable
Definition: Spatial.cs:550
bool isPeace
Definition: Spatial.cs:406
UIContextMenuItem AddToggle(string idLang="", bool isOn=false, UnityAction< bool > action=null)
UIContextMenu AddChild(string idLang, TextAnchor anchor)
string GetName()
Definition: Weather.cs:158
Text textTime
Definition: WidgetDate.cs:27
Color colorFestival
Definition: WidgetDate.cs:35
override void OnSetContextMenu(UIContextMenu m)
Definition: WidgetDate.cs:163
override void OnChangePivot()
Definition: WidgetDate.cs:150
RectTransform rectClock
Definition: WidgetDate.cs:31
static void Refresh()
Definition: WidgetDate.cs:155
static WidgetDate Instance
Definition: WidgetDate.cs:25
Extra extra
Definition: WidgetDate.cs:37
Image imageHour
Definition: WidgetDate.cs:33
void _Refresh()
Definition: WidgetDate.cs:51
override object CreateExtra()
Definition: WidgetDate.cs:39
override void OnActivate()
Definition: WidgetDate.cs:44
Text textLevel
Definition: WidgetDate.cs:29
Definition: Widget.cs:7
void SetBaseContextMenu(UIContextMenu m)
Definition: Widget.cs:608
GameDate date
Definition: World.cs:6
Weather weather
Definition: World.cs:12
List< ZoneEvent > list
virtual string TextWidgetDate
Definition: ZoneEvent.cs:25
string TextDangerLv
Definition: Zone.cs:426
ZoneEventManager events
Definition: Zone.cs:40
virtual string TextWidgetDate
Definition: Zone.cs:132
bool IsInstance
Definition: Zone.cs:484
List< Element > ListLandFeats()
Definition: Zone.cs:3043
bool IsPCFaction
Definition: Zone.cs:468
string NameWithLevel
Definition: Zone.cs:424