6 public static string fName =
"ModsManageContentScreen";
17 if (modInfo ==
null) {
41 description = modEntity.IsDisabled ? $
"{LanguageControl.Get("ModDetailsDialog", "8
")}{Storage.GetFileName(modEntity.ModFilePath)}" : modInfo.
Description;
53 m_viewDetailButton.IsEnabled =
false;
55 m_triggerEnableButton.IsEnabled =
false;
57 m_openHomepageButton.IsEnabled =
false;
59 m_modsContentList.ItemWidgetFactory = item => {
67 if (
string.IsNullOrEmpty(entity.ModFilePath)) {
68 result.IsInformationVisible =
false;
75 result.Information =
string.Format(
77 entity.modInfo!.Version,
78 entity.modInfo.ApiVersion,
79 entity.modInfo.Author,
83 if (entity.Icon !=
null) {
84 result.Icon = entity.Icon;
86 result.Description = description;
89 m_modsContentList.ItemClicked += item => {
93 m_viewDetailButton.IsEnabled =
true;
94 m_triggerEnableButton.IsEnabled = entity.IsDisabled
96 : entity.modInfo?.PackageName is not
"survivalcraft" and not
"fastdebug";
98 m_openHomepageButton.IsEnabled =
true;
105 public override void Enter(
object[] parameters) {
111 m_viewDetailButton.IsEnabled =
false;
112 m_triggerEnableButton.IsEnabled =
false;
113 m_openHomepageButton.IsEnabled =
false;
125 if (
string.IsNullOrEmpty(entity.modInfo?.Link)) {
192 itemWidget.Title = title;
193 itemWidget.TitleColor = titleColor;
205 title = $
"[{LanguageControl.Get(fName, "22
")}] {title}";
209 title = $
"[{LanguageControl.Get(fName, "23
")} {LanguageControl.Get(fName, "81
")}] {title}";
213 title = $
"[{LanguageControl.Get(fName, "22
")}] {title}";
220 title = $
"[{LanguageControl.Get(fName, "22
")} {LanguageControl.Get(fName, "81
")}] {title}";
236 return entity.modInfo !=
null
static string GetFileName(string path)
static object Get(Type type, string name)
static void ShowDialog(ContainerWidget parentWidget, Dialog dialog)
static string Get(string className, int key)
获取在当前语言类名键对应的字符串
ModDisableReason DisableReason
VersionRange ApiVersionRange
static void SwitchScreen(string name, params object[] parameters)
static void SaveSettings()
static void LaunchBrowser(string url)
void TriggerEnable(ModEntity entity)
static bool IsOldApiVersionMod(ModEntity modEntity, out string description)
ButtonWidget m_triggerEnableButton
ModsManageContentScreen()
ButtonWidget m_openHomepageButton
ButtonWidget m_viewDetailButton
override void Enter(object[] parameters)
static bool GetTrigger(ModEntity entity)
true: mod能被启用,false:mod能被禁用
ListPanelWidget m_modsContentList
static bool GetTriggerAndTitle(ModEntity entity, out string title, out Color titleColor)
true: mod能被启用,false:mod能被禁用
static NuGetVersion APINuGetVersion
static Dictionary< string, HashSet< string > > DisabledMods
static List< ModEntity > ModListAll
所有模组,含禁用的