Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TraitMoongateEx.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
5{
6 public override bool OnUse(Chara c)
7 {
9 {
11 return false;
12 }
13 Core.TryWarnMod(delegate
14 {
15 _OnUse();
16 }, warn: false);
17 return false;
18 }
19
20 public void _OnUse()
21 {
22 List<MapMetaData> list = ListSavedUserMap();
23 if (list.Count == 0)
24 {
26 return;
27 }
28 foreach (MapMetaData item in list)
29 {
30 bool flag = false;
31 foreach (string item2 in EClass.player.favMoongate)
32 {
33 _ = item2;
34 if (EClass.player.favMoongate.Contains(item.id))
35 {
36 flag = true;
37 break;
38 }
39 }
40 if (!flag)
41 {
42 EClass.player.favMoongate.Remove(item.id);
43 }
44 }
45 Sort();
46 LayerList layer = null;
47 bool skipDialog = false;
48 layer = EClass.ui.AddLayer<LayerList>().SetList2(list, (MapMetaData a) => a.name, delegate(MapMetaData a, ItemGeneral b)
49 {
50 LoadMap(a);
51 }, delegate(MapMetaData a, ItemGeneral b)
52 {
54 {
55 if (skipDialog)
56 {
57 func();
58 }
59 else
60 {
61 Dialog.Choice("dialogDeleteGame", delegate(Dialog d)
62 {
63 d.AddButton("yes".lang(), delegate
64 {
65 func();
66 });
67 d.AddButton("yesAndSkip".lang(), delegate
68 {
69 func();
70 skipDialog = true;
71 });
72 d.AddButton("no".lang());
73 });
74 }
75 });
76 UIButton uIButton = b.AddSubButton(EClass.core.refs.icons.fav, delegate
77 {
78 SE.ClickGeneral();
80 Sort();
81 EClass.ui.FreezeScreen(0.1f);
82 layer.list.List();
83 });
84 uIButton.icon.SetAlpha(EClass.player.favMoongate.Contains(a.id) ? 1f : 0.3f);
85 uIButton.icon.SetNativeSize();
86 void func()
87 {
88 IO.DeleteFile(a.path);
89 list.Remove(a);
90 EClass.ui.FreezeScreen(0.1f);
91 layer.list.List();
92 SE.Trash();
93 }
94 }).SetSize(500f)
95 .SetTitles("wMoongate") as LayerList;
96 static DateTime GetDate(MapMetaData meta)
97 {
98 int num = EClass.player.favMoongate.IndexOf(meta.id);
99 if (num == -1)
100 {
101 return meta.date;
102 }
103 return meta.date + new TimeSpan(-3650 - num, 0, 0, 0, 0);
104 }
105 void Sort()
106 {
107 list.Sort((MapMetaData a, MapMetaData b) => DateTime.Compare(GetDate(a), GetDate(b)));
108 }
109 }
110}
Version version
Definition: BaseCore.cs:17
void SayNothingHappans()
Definition: Card.cs:6041
Definition: Chara.cs:10
Sprite fav
Definition: CoreRef.cs:108
Sprite trash
Definition: CoreRef.cs:104
Icons icons
Definition: CoreRef.cs:339
Definition: Core.cs:14
CoreRef refs
Definition: Core.cs:51
static void TryWarnMod(Action action, bool warn=true)
Definition: Core.cs:798
Definition: EClass.cs:5
static Core core
Definition: EClass.cs:6
static Player player
Definition: EClass.cs:12
static Chara pc
Definition: EClass.cs:14
static UI ui
Definition: EClass.cs:16
Definition: IO.cs:11
static void DeleteFile(string path)
Definition: IO.cs:313
UIButton AddSubButton(Sprite sprite, Action action, string lang=null, Action< UITooltip > onTooltip=null)
Definition: ItemGeneral.cs:76
string name
Definition: MapMetaData.cs:7
DateTime date
Definition: MapMetaData.cs:23
string id
Definition: MapMetaData.cs:10
Definition: Msg.cs:5
static string SayNothingHappen()
Definition: Msg.cs:96
void ToggleFavMoongate(string id)
Definition: Player.cs:2343
List< string > favMoongate
Definition: Player.cs:934
override bool OnUse(Chara c)
void LoadMap(MapMetaData m)
List< MapMetaData > ListSavedUserMap()
Image icon
Definition: UIButton.cs:110
bool demo
Definition: Version.cs:14