Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
LayerTitle.cs
Go to the documentation of this file.
1using System;
2using UnityEngine;
3using UnityEngine.UI;
4
6{
7 [Serializable]
8 public class TitleType
9 {
10 public Color light;
11
12 public Color fog;
13
14 public Sprite bg;
15
16 public BGMData bgm;
17
18 public BGMData bgmTitle;
19 }
20
21 public TitleType[] types;
22
23 public static LayerTitle Instance;
24
25 public static EmbarkActor actor;
26
28
30
32
33 public Transform transBook;
34
35 public CanvasGroup cgBook;
36
37 public CanvasGroup cgBG;
38
39 public float speed;
40
41 public GraphicRaycaster ray;
42
43 public Transform titleActor;
44
45 public Image uiLight;
46
47 public RawImage imageFog;
48
49 public RawImage imageBG;
50
51 public bool toggle;
52
53 public bool altTitle;
54
56
57 public override void OnInit()
58 {
59 Instance = this;
60 textVersion.text = ELayer.core.version.GetText() ?? "";
61 textIntro.text = IO.LoadText(CorePath.CorePackage.TextData + "intro.txt");
62 ELayer.ui.SetLight(enable: true);
63 titleActor = Util.Instantiate(titleActor);
64 Refresh();
65 SoundManager.current.PlayBGM(CurrentTitle.bgmTitle);
66 }
67
68 public void Refresh()
69 {
70 titleActor.GetComponentInChildren<SpriteRenderer>().sprite = CurrentTitle.bg;
74 }
75
76 public void OnClickStart()
77 {
78 if (ELayer.ui.GetTopLayer() is LayerTitle)
79 {
80 Core.TryWarnMod(delegate
81 {
82 embark = ELayer.ui.AddLayer<LayerEditBio>();
83 SoundManager.current.PlayBGM(CurrentTitle.bgm);
84 }, ELayer.core.mods.CountUserMod() > 0);
85 }
86 }
87
88 public void OnChangeResolution()
89 {
90 imageBG.transform.localScale = new Vector3(Mathf.Max(1f, 1.7777778f / ((float)Screen.width / (float)Screen.height)), 1f, 1f);
91 }
92
93 public void OnClickContinue()
94 {
95 if (ELayer.ui.GetTopLayer() is LayerTitle)
96 {
97 Core.TryWarnMod(delegate
98 {
99 ELayer.ui.AddLayer<LayerLoadGame>().Init(_backup: false);
100 }, ELayer.core.mods.CountUserMod() > 0);
101 }
102 }
103
104 public void OnClickConfig()
105 {
106 ELayer.ui.AddLayer<LayerConfig>();
107 }
108
109 public void OnClickMod()
110 {
111 ELayer.ui.AddLayer<LayerMod>();
112 }
113
114 public void OnClickCredit()
115 {
116 ELayer.ui.AddLayer<LayerCredit>();
117 }
118
119 public void OnClickAnnounce()
120 {
121 ELayer.ui.AddLayer("LayerAnnounce");
122 }
123
124 public void OnClickAbout()
125 {
126 ELayer.ui.AddLayer("LayerAbout");
127 }
128
129 public void OnClickFeedback()
130 {
131 ELayer.ui.ToggleFeedback();
132 }
133
134 public void OnClickExit()
135 {
136 if (Application.isEditor)
137 {
138 ELayer.ui.RemoveLayer(this);
139 if ((bool)actor)
140 {
141 UnityEngine.Object.DestroyImmediate(actor.gameObject);
142 }
143 ELayer.ui.AddLayer<LayerTitle>();
144 }
145 else
146 {
147 ELayer.core.Quit();
148 }
149 }
150
151 public override void OnKill()
152 {
153 UnityEngine.Object.DestroyImmediate(titleActor.gameObject);
154 if ((bool)embark)
155 {
156 ELayer.ui.RemoveLayer(embark);
157 UnityEngine.Object.DestroyImmediate(embark);
158 }
159 ELayer.ui.SetLight(enable: false);
160 }
161
162 private void Update()
163 {
164 LayerEditBio layer = ELayer.ui.GetLayer<LayerEditBio>();
165 if (!layer && SoundManager.current.currentBGM.id != CurrentTitle.bgmTitle.name)
166 {
167 if (toggle)
168 {
170 }
171 SoundManager.current.PlayBGM(CurrentTitle.bgmTitle);
172 Refresh();
173 }
174 float num = Mathf.Clamp(cgBook.alpha + Time.smoothDeltaTime * speed * (float)((!layer) ? 1 : (-1)), 0f, 1f);
175 if (cgBook.alpha != num)
176 {
177 cgBook.alpha = num;
178 }
179 if (cgBG.alpha != num)
180 {
181 cgBG.alpha = num;
182 }
183 ray.enabled = num == 1f;
184 }
185
186 public void OnChangeLanguage()
187 {
188 textIntro.text = IO.LoadText(CorePath.CorePackage.TextData + "intro.txt");
189 }
190
191 public static void KillActor()
192 {
193 if ((bool)actor)
194 {
195 UnityEngine.Object.DestroyImmediate(actor.gameObject);
196 }
197 }
198}
Version version
Definition: BaseCore.cs:17
static string TextData
Definition: CorePath.cs:49
Definition: Core.cs:14
ModManager mods
Definition: Core.cs:39
void Quit()
Definition: Core.cs:568
static void TryWarnMod(Action action, bool warn=true)
Definition: Core.cs:798
Definition: ELayer.cs:4
sealed override void Init()
Definition: ELayer.cs:67
static Core core
Definition: ELayer.cs:7
static UI ui
Definition: ELayer.cs:21
static void KillActor()
Definition: LayerTitle.cs:191
UIText textIntro
Definition: LayerTitle.cs:31
void Update()
Definition: LayerTitle.cs:162
RawImage imageBG
Definition: LayerTitle.cs:49
CanvasGroup cgBook
Definition: LayerTitle.cs:35
static LayerTitle Instance
Definition: LayerTitle.cs:23
CanvasGroup cgBG
Definition: LayerTitle.cs:37
void Refresh()
Definition: LayerTitle.cs:68
Image uiLight
Definition: LayerTitle.cs:45
void OnClickCredit()
Definition: LayerTitle.cs:114
void OnClickContinue()
Definition: LayerTitle.cs:93
bool altTitle
Definition: LayerTitle.cs:53
Transform transBook
Definition: LayerTitle.cs:33
void OnClickConfig()
Definition: LayerTitle.cs:104
TitleType[] types
Definition: LayerTitle.cs:21
override void OnInit()
Definition: LayerTitle.cs:57
bool toggle
Definition: LayerTitle.cs:51
void OnClickStart()
Definition: LayerTitle.cs:76
GraphicRaycaster ray
Definition: LayerTitle.cs:41
UIText textVersion
Definition: LayerTitle.cs:29
LayerEditBio embark
Definition: LayerTitle.cs:27
void OnChangeResolution()
Definition: LayerTitle.cs:88
TitleType CurrentTitle
Definition: LayerTitle.cs:55
static EmbarkActor actor
Definition: LayerTitle.cs:25
RawImage imageFog
Definition: LayerTitle.cs:47
float speed
Definition: LayerTitle.cs:39
void OnClickAbout()
Definition: LayerTitle.cs:124
override void OnKill()
Definition: LayerTitle.cs:151
void OnClickAnnounce()
Definition: LayerTitle.cs:119
void OnClickExit()
Definition: LayerTitle.cs:134
void OnClickMod()
Definition: LayerTitle.cs:109
Transform titleActor
Definition: LayerTitle.cs:43
void OnChangeLanguage()
Definition: LayerTitle.cs:186
void OnClickFeedback()
Definition: LayerTitle.cs:129
int CountUserMod()
Definition: ModManager.cs:297
Definition: UIText.cs:6
string GetText()
Definition: Version.cs:16