Elin Decompiled Documentation EA 23.102 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 public override void OnInit()
18 {
19 textRestart.SetActive(enable: false);
21 {
22 ELayer.config.other.disableMods = on;
24 textRestart.SetActive(enable: true);
25 });
26 Instance = this;
27 UIList uIList = list;
28 UIList uIList2 = list2;
30 {
31 onClick = delegate
32 {
33 },
34 onInstantiate = delegate(BaseModPackage a, ItemMod b)
35 {
36 a.UpdateMeta(updateOnly: true);
37 b.package = a;
38 string s = ELayer.core.mods.packages.IndexOf(a) + 1 + ". " + (a.isInPackages ? "[Local] " : "") + a.title;
39 b.buttonActivate.mainText.SetText(s, (!a.IsValidVersion()) ? FontColor.Bad : (a.activated ? FontColor.ButtonGeneral : FontColor.Passive));
40 b.buttonActivate.subText.text = a.version;
41 b.buttonLock.mainText.text = a.author;
42 b.buttonUp.SetActive(!a.builtin);
43 b.buttonDown.SetActive(!a.builtin);
45 b.buttonUp.SetOnClick(delegate
46 {
47 Move(a, b, -1);
48 });
49 b.buttonDown.SetOnClick(delegate
50 {
51 Move(a, b, 1);
52 });
54 bt.SetOnClick(delegate
55 {
56 a.willActivate = !a.willActivate;
59 textRestart.SetActive(enable: true);
60 });
61 bt.interactable = !a.builtin;
62 b.buttonActivate.onClick.AddListener(delegate
63 {
64 Refresh();
65 UIContextMenu uIContextMenu = ELayer.ui.CreateContextMenuInteraction();
67 {
68 uIContextMenu.AddButton("mod_publish", delegate
69 {
70 Core.TryWarnUpload(delegate
71 {
72 Dialog.YesNo("mod_publish_warn".lang(a.title, a.id, a.author), delegate
73 {
74 ELayer.core.steam.CreateUserContent(a);
75 });
76 });
77 });
78 }
79 if (!a.builtin)
80 {
81 uIContextMenu.AddButton(a.willActivate ? "mod_deactivate" : "mod_activate", delegate
82 {
83 SE.Click();
84 a.willActivate = !a.willActivate;
85 ELayer.core.mods.SaveLoadOrder();
86 list.List();
87 textRestart.SetActive(enable: true);
88 });
89 }
90 uIContextMenu.AddButton("mod_info", delegate
91 {
92 SE.Click();
93 Util.ShowExplorer(a.dirInfo.FullName + "/package.xml");
94 });
95 uIContextMenu.Show();
96 });
97 b.buttonLock.onClick.AddListener(delegate
98 {
99 Refresh();
100 });
101 },
102 onList = delegate
103 {
104 foreach (BaseModPackage package in manager.packages)
105 {
106 if (package.builtin)
107 {
108 list2.Add(package);
109 }
110 else
111 {
112 list.Add(package);
113 }
114 }
115 },
116 onRefresh = Refresh
117 };
118 UIList.ICallback callbacks = obj;
119 uIList2.callbacks = obj;
120 uIList.callbacks = callbacks;
121 list.List();
122 list2.List();
123 void Move(BaseModPackage p, ItemMod b, int a)
124 {
125 List<BaseModPackage> packages = ELayer.core.mods.packages;
126 int num = packages.IndexOf(p);
127 if (num + a < 0 || num + a >= packages.Count || packages[num + a].builtin)
128 {
129 SE.BeepSmall();
130 }
131 else
132 {
133 packages.Move(p, a);
134 SE.Tab();
135 textRestart.SetActive(enable: true);
137 list.List();
138 }
139 }
140 }
141
142 public void Refresh()
143 {
144 }
145
146 public override void OnKill()
147 {
149 }
150}
FontColor
Definition: FontColor.cs:2
static bool IsOffline
Definition: BaseCore.cs:9
Version version
Definition: BaseCore.cs:17
List< BaseModPackage > packages
bool IsValidVersion()
DirectoryInfo dirInfo
void UpdateMeta(bool updateOnly=false)
void Save()
Definition: CoreConfig.cs:811
OtherSetting other
Definition: CoreConfig.cs:606
bool enable
Definition: CoreDebug.cs:285
Definition: Core.cs:14
ModManager mods
Definition: Core.cs:39
static void TryWarnUpload(Action action)
Definition: Core.cs:827
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
UIButton toggleDisableMods
Definition: LayerMod.cs:13
override void OnInit()
Definition: LayerMod.cs:17
override void OnKill()
Definition: LayerMod.cs:146
UIList list2
Definition: LayerMod.cs:9
UIText textRestart
Definition: LayerMod.cs:11
void Refresh()
Definition: LayerMod.cs:142
static LayerMod Instance
Definition: LayerMod.cs:5
void SaveLoadOrder()
Definition: ModManager.cs:217
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:302
override void List()
Definition: UIList.cs:717
Definition: UIText.cs:6
void SetText(string s)
Definition: UIText.cs:159
bool demo
Definition: Version.cs:14