Elin Decompiled Documentation EA 23.174 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 list.ForeachReverse(delegate(MapMetaData m)
24 {
25 if (EClass.core.config.net.noAdult && m.tag.HasTag("adult"))
26 {
27 list.Remove(m);
28 }
29 });
30 if (list.Count == 0)
31 {
33 return;
34 }
35 foreach (MapMetaData item in list)
36 {
37 bool flag = false;
38 foreach (string item2 in EClass.player.favMoongate)
39 {
40 _ = item2;
41 if (EClass.player.favMoongate.Contains(item.id))
42 {
43 flag = true;
44 break;
45 }
46 }
47 if (!flag)
48 {
49 EClass.player.favMoongate.Remove(item.id);
50 }
51 }
52 Sort();
53 LayerList layer = null;
54 bool skipDialog = false;
55 layer = EClass.ui.AddLayer<LayerList>().SetList2(list, (MapMetaData a) => a.name, delegate(MapMetaData a, ItemGeneral b)
56 {
57 LoadMap(a);
58 }, delegate(MapMetaData a, ItemGeneral b)
59 {
61 {
62 if (skipDialog)
63 {
64 func();
65 }
66 else
67 {
68 Dialog.Choice("dialogDeleteGame", delegate(Dialog d)
69 {
70 d.AddButton("yes".lang(), delegate
71 {
72 func();
73 });
74 d.AddButton("yesAndSkip".lang(), delegate
75 {
76 func();
77 skipDialog = true;
78 });
79 d.AddButton("no".lang());
80 });
81 }
82 });
83 UIButton uIButton = b.AddSubButton(EClass.core.refs.icons.fav, delegate
84 {
85 SE.ClickGeneral();
87 Sort();
88 EClass.ui.FreezeScreen(0.1f);
89 layer.list.List();
90 });
91 uIButton.icon.SetAlpha(EClass.player.favMoongate.Contains(a.id) ? 1f : 0.3f);
92 uIButton.icon.SetNativeSize();
93 void func()
94 {
95 IO.DeleteFile(a.path);
96 list.Remove(a);
97 EClass.ui.FreezeScreen(0.1f);
98 layer.list.List();
99 SE.Trash();
100 }
101 }).SetSize(500f)
102 .SetTitles("wMoongate") as LayerList;
103 static DateTime GetDate(MapMetaData meta)
104 {
105 int num = EClass.player.favMoongate.IndexOf(meta.id);
106 if (num == -1)
107 {
108 return meta.date;
109 }
110 return meta.date + new TimeSpan(-3650 - num, 0, 0, 0, 0);
111 }
112 void Sort()
113 {
114 list.Sort((MapMetaData a, MapMetaData b) => DateTime.Compare(GetDate(a), GetDate(b)));
115 }
116 }
117}
Version version
Definition: BaseCore.cs:17
void SayNothingHappans()
Definition: Card.cs:6441
Definition: Chara.cs:10
NetSetting net
Definition: CoreConfig.cs:604
Sprite fav
Definition: CoreRef.cs:110
Sprite trash
Definition: CoreRef.cs:106
Icons icons
Definition: CoreRef.cs:345
Definition: Core.cs:14
CoreRef refs
Definition: Core.cs:51
static void TryWarnMod(Action action, bool warn=true)
Definition: Core.cs:800
CoreConfig config
Definition: Core.cs:70
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:86
string name
Definition: MapMetaData.cs:7
DateTime date
Definition: MapMetaData.cs:26
string id
Definition: MapMetaData.cs:10
string tag
Definition: MapMetaData.cs:16
Definition: Msg.cs:5
static string SayNothingHappen()
Definition: Msg.cs:96
void ToggleFavMoongate(string id)
Definition: Player.cs:2462
List< string > favMoongate
Definition: Player.cs:1053
override bool OnUse(Chara c)
void LoadMap(MapMetaData m)
List< MapMetaData > ListSavedUserMap()
Image icon
Definition: UIButton.cs:110
bool demo
Definition: Version.cs:14