Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
LayerEmbark.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using UnityEngine;
3using UnityEngine.UI;
4
5public class LayerEmbark : ELayer
6{
7 public enum Mode
8 {
9 top,
11 member,
12 map
13 }
14
15 public static LayerEmbark Instance;
16
18
19 public GameObject goTop;
20
21 public GameObject goPreviewMap;
22
23 public GameObject goMembers;
24
25 public GameObject goMap;
26
28
30
32
33 public InputField inputHomeName;
34
35 public InputField inputPlayerAlias;
36
37 public InputField inputSupplyType;
38
39 public InputField inputRegion;
40
41 public InputField inputEra;
42
43 public InputField inputPlayerName;
44
46
48
50
52
54
55 public RectTransform mapHolder1;
56
57 public RectTransform mapHolder2;
58
59 public Mode mode;
60
61 public Mode lastMode;
62
64
65 public GridLayoutGroup gridPreview;
66
68
69 public List<UIMapPreview> previews;
70
71 private bool firstPreview = true;
72
74
76
77 public override void OnAfterAddLayer()
78 {
79 Instance = this;
80 if (ELayer.game == null)
81 {
82 Game.Create();
83 }
84 if (bp.map != null)
85 {
87 }
88 if (!LayerTitle.actor)
89 {
90 LayerTitle.actor = Util.Instantiate(moldActor);
91 }
93 SwitchMode(Mode.top);
94 ELayer.ui.AddLayer<LayerEditBio>();
95 }
96
97 public void OnClickBack()
98 {
99 if (mode == Mode.previewMap && lastMode != Mode.map)
100 {
101 SE.Click();
102 }
103 SwitchMode(Mode.top);
104 }
105
106 public void SwitchMode(int i)
107 {
108 SwitchMode(i.ToEnum<Mode>());
109 }
110
111 public void SwitchMode(Mode _mode)
112 {
113 bool flag = lastMode == Mode.map;
114 if (_mode == Mode.top && mode == Mode.previewMap && flag)
115 {
116 _mode = Mode.map;
117 }
118 lastMode = mode;
119 mode = _mode;
120 goPreviewMap.SetActive(mode == Mode.previewMap);
121 goTop.SetActive(mode == Mode.top);
122 goMembers.SetActive(mode == Mode.member);
123 buttonEmbark.SetActive(mode == Mode.top);
124 goMap.SetActive(mode == Mode.map);
125 switch (mode)
126 {
127 case Mode.top:
128 mapPreview.transform.SetParent(mapHolder1, worldPositionStays: false);
129 ELayer.ui.hud.hint.Show("hintEmbarkTop".lang(), icon: false);
131 break;
132 case Mode.previewMap:
133 SE.Play("click_paper");
134 ELayer.ui.hud.hint.Show("hintEmbarkPreview".lang(), icon: false);
136 break;
137 case Mode.member:
138 ELayer.ui.AddLayer<LayerEditBio>().SetChara(null, delegate
139 {
141 SwitchMode(Mode.top);
142 });
143 break;
144 case Mode.map:
145 mapPreview.transform.SetParent(mapHolder2, worldPositionStays: false);
146 ELayer.ui.hud.hint.Show("hintEmbarkMap".lang(), icon: false);
147 break;
148 }
149 }
150
151 public override bool OnBack()
152 {
153 if (mode == Mode.map)
154 {
155 return false;
156 }
157 if (mode != 0)
158 {
159 SwitchMode(Mode.top);
160 return false;
161 }
162 return base.OnBack();
163 }
164
165 private void Update()
166 {
167 if (mode == Mode.map)
168 {
170 }
171 }
172
173 public override void OnKill()
174 {
175 }
176
177 public void RerollPreviewMap()
178 {
179 if (firstPreview)
180 {
181 for (int i = 0; i < 8; i++)
182 {
183 UIMapPreview p = Util.Instantiate(moldPreview, gridPreview);
184 previews.Add(p);
185 p.button.onClick.AddListener(delegate
186 {
187 if (!p.thread.done)
188 {
189 SE.Beep();
190 }
191 else
192 {
193 OnClickPreview(p);
194 }
195 });
196 }
197 firstPreview = false;
198 }
199 foreach (UIMapPreview preview in previews)
200 {
201 preview.GenerateMap(bp);
202 }
203 }
204
205 public void OnClickPreview(UIMapPreview preview)
206 {
207 bp.map = preview.map;
208 bp.genSetting = preview.thread.bp.genSetting;
210 SwitchMode(Mode.top);
211 }
212
213 public void RefreshMembers()
214 {
216 listMembers.callbacks = new UIList.Callback<Chara, ButtonChara>
217 {
218 onInstantiate = delegate(Chara a, ButtonChara b)
219 {
220 b.SetChara(a, ButtonChara.Mode.Embark);
222 b.item.button2.SetActive(a == ELayer.player.chara);
223 b.item.button1.SetActive(a == ELayer.player.chara);
224 b.item.button1.onClick.AddListener(delegate
225 {
226 ELayer.ui.AddLayer<LayerEditBio>().SetChara(null, delegate
227 {
229 });
230 });
231 }
232 };
233 foreach (Chara chara in bp.charas)
234 {
235 if (chara.IsPCC)
236 {
237 listMembers.Add(chara);
238 }
239 }
241 }
242
243 public void RerollPC()
244 {
245 bp.charas.Remove(ELayer.player.chara);
246 bp.charas.Insert(0, ELayer.player.chara);
247 (listMembers.buttons[0].component as ButtonChara).SetChara(ELayer.player.chara, ButtonChara.Mode.Embark);
248 }
249
250 public void RerollMembers()
251 {
252 bp.RerollChara();
254 }
255
256 public string GetAlias()
257 {
258 if (ELayer.rnd(4) == 0)
259 {
260 return ELayer.player.title;
261 }
262 return bp.charas.RandomItem().Name;
263 }
264
265 public void RerollPlayerAlias()
266 {
267 ELayer.player.title = WordGen.Get("title");
268 }
269
270 public void RerollPlayerName()
271 {
272 ELayer.player.chara.c_altName = NameGen.getRandomName();
273 }
274
276 {
277 ELayer.player.chara.c_altName = inputPlayerName.text;
278 }
279
280 public void ListPlayerAlias()
281 {
282 ELayer.ui.AddLayer<LayerList>().SetStringList(() => WordGen.GetList("title"), delegate(int a, string b)
283 {
284 ELayer.player.title = b;
285 });
286 }
287}
static AM_Title Title
Definition: ActionMode.cs:9
void InputMovement()
Definition: ActionMode.cs:934
new UIItem item
Definition: ButtonChara.cs:29
void SetChara(Chara c, Mode m)
Definition: ButtonChara.cs:35
ElementContainerCard elements
Definition: Card.cs:37
Definition: Chara.cs:10
override bool IsPCC
Definition: Chara.cs:667
Definition: ELayer.cs:4
static Player player
Definition: ELayer.cs:13
static int rnd(int a)
Definition: ELayer.cs:49
static Game game
Definition: ELayer.cs:9
static UI ui
Definition: ELayer.cs:21
List< Element > ListBestSkills()
void RerollChara()
Definition: GameBlueprint.cs:8
Definition: Game.cs:8
GameBlueprint bp
Definition: Game.cs:241
static void Create(string _id=null, bool cloud=false)
Definition: Game.cs:693
Mode lastMode
Definition: LayerEmbark.cs:61
void OnClickBack()
Definition: LayerEmbark.cs:97
InputField inputEra
Definition: LayerEmbark.cs:41
void RerollPreviewMap()
Definition: LayerEmbark.cs:177
override void OnKill()
Definition: LayerEmbark.cs:173
InputField inputHomeName
Definition: LayerEmbark.cs:33
void RerollMembers()
Definition: LayerEmbark.cs:250
RectTransform mapHolder1
Definition: LayerEmbark.cs:55
void Update()
Definition: LayerEmbark.cs:165
void RerollPlayerName()
Definition: LayerEmbark.cs:270
UIMapPreview mapPreview
Definition: LayerEmbark.cs:17
UICardInfo cardInfo
Definition: LayerEmbark.cs:45
InputField inputPlayerName
Definition: LayerEmbark.cs:43
UIMapSelector selector
Definition: LayerEmbark.cs:29
UIMapPreview moldPreview
Definition: LayerEmbark.cs:67
override bool OnBack()
Definition: LayerEmbark.cs:151
void RerollPlayerAlias()
Definition: LayerEmbark.cs:265
List< UIMapPreview > previews
Definition: LayerEmbark.cs:69
GameObject goMap
Definition: LayerEmbark.cs:25
void RefreshMembers()
Definition: LayerEmbark.cs:213
bool firstPreview
Definition: LayerEmbark.cs:71
override void OnAfterAddLayer()
Definition: LayerEmbark.cs:77
UICharaMaker maker
Definition: LayerEmbark.cs:27
UIButton buttonRerollSupply
Definition: LayerEmbark.cs:47
string GetAlias()
Definition: LayerEmbark.cs:256
void SwitchMode(Mode _mode)
Definition: LayerEmbark.cs:111
GameBlueprint bp
Definition: LayerEmbark.cs:73
GameObject goMembers
Definition: LayerEmbark.cs:23
void ListPlayerAlias()
Definition: LayerEmbark.cs:280
void OnEndEditPlayerName()
Definition: LayerEmbark.cs:275
EmbarkActor moldActor
Definition: LayerEmbark.cs:63
InputField inputRegion
Definition: LayerEmbark.cs:39
GameObject goPreviewMap
Definition: LayerEmbark.cs:21
GameObject goTop
Definition: LayerEmbark.cs:19
UIButton buttonEmbark
Definition: LayerEmbark.cs:51
void RerollPC()
Definition: LayerEmbark.cs:243
InputField inputPlayerAlias
Definition: LayerEmbark.cs:35
InputField inputSupplyType
Definition: LayerEmbark.cs:37
RectTransform mapHolder2
Definition: LayerEmbark.cs:57
UIList listMembers
Definition: LayerEmbark.cs:31
UIButton toggleSkipQuests
Definition: LayerEmbark.cs:49
static LayerEmbark Instance
Definition: LayerEmbark.cs:15
void OnClickPreview(UIMapPreview preview)
Definition: LayerEmbark.cs:205
LayerTitle title
Definition: LayerEmbark.cs:75
GridLayoutGroup gridPreview
Definition: LayerEmbark.cs:65
void SwitchMode(int i)
Definition: LayerEmbark.cs:106
UISelectableGroup groupGameMode
Definition: LayerEmbark.cs:53
static LayerTitle Instance
Definition: LayerTitle.cs:23
static EmbarkActor actor
Definition: LayerTitle.cs:25
Zone zone
Definition: Player.cs:883
string title
Definition: Player.cs:805
Chara chara
Definition: Player.cs:1004
UIButton button1
Definition: UIItem.cs:18
UIButton button2
Definition: UIItem.cs:20
Definition: UIList.cs:9
List< ButtonPair > buttons
Definition: UIList.cs:244
override void Clear()
Definition: UIList.cs:349
override void Add(object item)
Definition: UIList.cs:302
virtual void Refresh(bool highlightLast=false)
Definition: UIList.cs:424
void SetMap(Map _map)
GenThread thread
Definition: UIMapPreview.cs:86
void GenerateMap(ZoneBlueprint bp)
UIButton button
Definition: UIMapPreview.cs:57
void WriteNote(Zone z)
List< Chara > charas
MapGenSetting genSetting