Elin Decompiled Documentation EA 23.264 Nightly
Loading...
Searching...
No Matches
LayerMod.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2
3public class LayerMod : ELayer
4{
5 public static LayerMod Instance;
6
7 public UIList list;
8
9 public UIList list2;
10
12
14
16
17 private void Move(BaseModPackage p, ItemMod b, int a)
18 {
19 List<BaseModPackage> packages = ELayer.core.mods.packages;
20 int num = packages.IndexOf(p);
21 if (num + a < 0 || num + a >= packages.Count || packages[num + a].builtin)
22 {
23 SE.BeepSmall();
24 return;
25 }
26 packages.Move(p, a);
27 SE.Tab();
28 textRestart.SetActive(enable: true);
30 list.List();
31 }
32
33 public override void OnInit()
34 {
35 textRestart.SetActive(enable: false);
37 {
38 ELayer.config.other.disableMods = on;
40 textRestart.SetActive(enable: true);
41 });
42 Instance = this;
43 list.dragScrollView = GetComponentInChildren<UIScrollView>();
44 list.dragViewport = windows[0].Rect();
45 list.dragEdgeSize = 34f;
46 UIList uIList = list;
47 UIList uIList2 = list2;
49 {
50 onClick = delegate
51 {
52 },
53 onInstantiate = delegate(BaseModPackage a, ItemMod b)
54 {
55 a.UpdateMeta(updateOnly: true);
56 b.package = a;
57 string s = ELayer.core.mods.packages.IndexOf(a) + 1 + ". " + (a.isInPackages ? "[Local] " : "") + a.title;
58 b.buttonActivate.mainText.SetText(s, (!a.IsValidVersion()) ? FontColor.Bad : (a.activated ? FontColor.ButtonGeneral : FontColor.Passive));
59 b.buttonActivate.subText.text = a.version;
60 b.buttonLock.mainText.text = a.author;
61 b.buttonUp.SetActive(!a.builtin);
62 b.buttonDown.SetActive(!a.builtin);
64 b.buttonUp.SetOnClick(delegate
65 {
66 Move(a, b, -1);
67 });
68 b.buttonDown.SetOnClick(delegate
69 {
70 Move(a, b, 1);
71 });
73 bt.SetOnClick(delegate
74 {
75 a.willActivate = !a.willActivate;
78 textRestart.SetActive(enable: true);
79 });
80 bt.interactable = !a.builtin;
81 b.buttonActivate.onClick.AddListener(delegate
82 {
83 Refresh();
84 UIContextMenu uIContextMenu = ELayer.ui.CreateContextMenuInteraction();
86 {
87 uIContextMenu.AddButton("mod_publish", delegate
88 {
89 Core.TryWarnUpload(delegate
90 {
91 Dialog.YesNo("mod_publish_warn".lang(a.title, a.id, a.author), delegate
92 {
93 ELayer.core.steam.CreateUserContent(a);
94 });
95 });
96 });
97 }
98 if (!a.builtin)
99 {
100 uIContextMenu.AddButton(a.willActivate ? "mod_deactivate" : "mod_activate", delegate
101 {
102 SE.Click();
103 a.willActivate = !a.willActivate;
104 ELayer.core.mods.SaveLoadOrder();
105 list.List();
106 textRestart.SetActive(enable: true);
107 });
108 }
109 uIContextMenu.AddButton("mod_info", delegate
110 {
111 SE.Click();
112 Util.ShowExplorer(a.dirInfo.FullName + "/package.xml");
113 });
114 uIContextMenu.Show();
115 });
116 b.buttonLock.onClick.AddListener(Refresh);
117 },
118 onList = delegate
119 {
120 foreach (BaseModPackage package in manager.packages)
121 {
122 if (package.builtin)
123 {
124 list2.Add(package);
125 }
126 else
127 {
128 list.Add(package);
129 }
130 }
131 },
132 onRefresh = Refresh,
133 onDragReorder = delegate(BaseModPackage p, int a)
134 {
136 manager.packages.Move(p, a);
137 SE.Tab();
138 textRestart.SetActive(enable: true);
140 list.List();
141 },
142 canDragReorder = (BaseModPackage p) => !p.builtin
143 };
144 UIList.ICallback callbacks = obj;
145 uIList2.callbacks = obj;
146 uIList.callbacks = callbacks;
147 list.List();
148 list2.List();
149 }
150
151 public void Refresh()
152 {
153 }
154
155 public override void OnKill()
156 {
158 }
159}
FontColor
Definition: FontColor.cs:2
static bool IsOffline
Definition: BaseCore.cs:9
virtual void FreezeScreen(float duration=0.3f)
Definition: BaseCore.cs:80
Version version
Definition: BaseCore.cs:17
static BaseCore Instance
Definition: BaseCore.cs:11
List< BaseModPackage > packages
bool IsValidVersion()
DirectoryInfo dirInfo
void UpdateMeta(bool updateOnly=false)
void Save()
Definition: CoreConfig.cs:828
OtherSetting other
Definition: CoreConfig.cs:619
bool enable
Definition: CoreDebug.cs:286
Definition: Core.cs:14
ModManager mods
Definition: Core.cs:39
static void TryWarnUpload(Action action)
Definition: Core.cs:835
Definition: Dialog.cs:7
static Dialog YesNo(string langDetail, Action actionYes, Action actionNo=null, string langYes="yes", string langNo="no")
Definition: Dialog.cs:244
Definition: ELayer.cs:4
static Core core
Definition: ELayer.cs:7
static CoreDebug debug
Definition: ELayer.cs:43
static CoreConfig config
Definition: ELayer.cs:31
static UI ui
Definition: ELayer.cs:21
UIButton buttonActivate
Definition: ItemMod.cs:5
UIButton buttonUp
Definition: ItemMod.cs:11
UIButton buttonToggle
Definition: ItemMod.cs:15
UIButton buttonDown
Definition: ItemMod.cs:13
UIButton buttonLock
Definition: ItemMod.cs:9
UIList list
Definition: LayerMod.cs:7
ModManager manager
Definition: LayerMod.cs:15
void Move(BaseModPackage p, ItemMod b, int a)
Definition: LayerMod.cs:17
UIButton toggleDisableMods
Definition: LayerMod.cs:13
override void OnInit()
Definition: LayerMod.cs:33
override void OnKill()
Definition: LayerMod.cs:155
UIList list2
Definition: LayerMod.cs:9
UIText textRestart
Definition: LayerMod.cs:11
void Refresh()
Definition: LayerMod.cs:151
static LayerMod Instance
Definition: LayerMod.cs:5
List< Window > windows
Definition: Layer.cs:116
void SaveLoadOrder()
Definition: ModManager.cs:218
UIText mainText
Definition: UIButton.cs:102
void SetToggle(bool isOn, Action< bool > onToggle=null)
Definition: UIButton.cs:341
void Show(UIItem i)
void AddButton(Func< string > funcText, UnityAction action=null)
Definition: UIList.cs:9
override void Add(object item)
Definition: UIList.cs:353
override void List()
Definition: UIList.cs:768
Definition: UIText.cs:6
void SetText(string s)
Definition: UIText.cs:159
bool demo
Definition: Version.cs:14