44 lines
1.1 KiB
C#
44 lines
1.1 KiB
C#
using Godot;
|
|
using System;
|
|
|
|
public partial class Mods : Control {
|
|
GlobalManager global = GlobalManager.Instance;
|
|
ItemList modsItemList = null!;
|
|
|
|
public override void _Ready() {
|
|
// TODO
|
|
modsItemList = GetNode<ItemList>("VBoxContainer/VScrollBar/ItemList");
|
|
FlushModState();
|
|
}
|
|
|
|
private void FlushModState() {
|
|
modsItemList.Clear();
|
|
foreach (var mod in global.Mods.ModList) {
|
|
var item = modsItemList.AddItem(mod.Key);
|
|
}
|
|
}
|
|
|
|
private void OnEnableMods(bool enable) {
|
|
if (enable) {
|
|
global.Mods.LoadAllMods();
|
|
}
|
|
else {
|
|
global.Mods.ClearAllMods();
|
|
}
|
|
}
|
|
|
|
private void OnReSearchMods() {
|
|
global.Mods.SearchAllMods(true);
|
|
}
|
|
|
|
public void OnOpenModFileDir() {
|
|
string path = global.ConfigManager.GetValue<string>("mods_fpath") ?? "user://mods";
|
|
OS.ShellOpen(ProjectSettings.GlobalizePath(path));
|
|
}
|
|
|
|
public void OnBack() {
|
|
ArgumentNullException.ThrowIfNull(global);
|
|
global.GotoScene("res://Main.tscn");
|
|
}
|
|
}
|