17 public List<ReleaseInfo>
Releases {
get;
set; } =
new();
26 public const string fName =
"ReleasesScreen";
37 m_releasesListPanel.ItemWidgetFactory = item =>
new LabelWidget {
47 public override void Enter(
object[] parameters) {
51 if (parameters.Length >= 3) {
69 m_scrollPanel.ScrollPosition = 0f;
85 catch (Exception exception) {
123 int firstNumberIndex = currentVersion.IndexOfAny(
137 if (firstNumberIndex >= 0 && currentVersion.Substring(firstNumberIndex) == targetVersion) {
158 m_titleLabel.Text = releaseInfo.
name;
159 m_infoLabel.Text =
string.Format(
164 m_textLabel.Text = releaseInfo.
body;
169 foreach (KeyValuePair<BevelledButtonWidget, Asset> assetButton
in m_assetButtons) {
184 if (ReferenceEquals(x, y)) {
static void Error(object message)
static string CurrentVersion
当前API版本
static string LatestVersion
网络上最新的API的版本
static int CompareVersion(string current, string target)
比较两个版本的新旧关系。 current大于target,返回1 current小于target,返回-1 版本相等,返回0
static object Get(Type type, string name)
static void HideDialog(Dialog dialog)
static void ShowDialog(ContainerWidget parentWidget, Dialog dialog)
static string GetContentWidgets(string name, string prop)
static async Task< JsonDocument > GetJsonFromUrlAsync(string url)
从链接获取 Json 文档
int Compare(ReleaseInfo x, ReleaseInfo y)
void PopulateReleasesList()
List< ReleaseInfo > Releases
ListPanelWidget m_releasesListPanel
async Task GetReleasesAsync()
Dictionary< BevelledButtonWidget, Asset > m_assetButtons
void DisplayReleaseInfo(object item)
string GetVersionSuffix(string currentVersion, string targetVersion)
override void Enter(object[] parameters)
IComparer< ReleaseInfo > m_versionComparer
ScrollPanelWidget m_scrollPanel
void PopulateAssetsList(ReleaseInfo releaseInfo)
StackPanelWidget m_releaseInfoPanel
static Screen PreviousScreen
上一个Screen
static void SwitchScreen(string name, params object[] parameters)
static ContainerWidget RootWidget
static void LaunchBrowser(string url)