mirror of
https://github.com/sp-tarkov/launcher.git
synced 2025-02-13 03:10:44 -05:00
add server endpoints and classes
This commit is contained in:
parent
0e4ea9cba7
commit
4dd1a3c50a
@ -94,5 +94,15 @@ namespace Aki.Launcher
|
|||||||
{
|
{
|
||||||
return request.GetJson("/launcher/profile/compatibleTarkovVersion");
|
return request.GetJson("/launcher/profile/compatibleTarkovVersion");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string RequestLoadedServerMods()
|
||||||
|
{
|
||||||
|
return request.GetJson("/launcher/server/loadedServerMods");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string RequestProfileMods()
|
||||||
|
{
|
||||||
|
return request.GetJson("/launcher/server/serverModsUsedByProfile");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
using Aki.Launch.Models.Aki;
|
||||||
using Aki.Launcher.MiniCommon;
|
using Aki.Launcher.MiniCommon;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace Aki.Launcher
|
namespace Aki.Launcher
|
||||||
@ -62,6 +65,34 @@ namespace Aki.Launcher
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Dictionary<string, AkiServerModInfo> GetLoadedServerMods()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string json = RequestHandler.RequestLoadedServerMods();
|
||||||
|
|
||||||
|
return Json.Deserialize<Dictionary<string, AkiServerModInfo>>(json);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new Dictionary<string, AkiServerModInfo>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AkiProfileModInfo[] GetProfileMods()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string json = RequestHandler.RequestProfileMods();
|
||||||
|
|
||||||
|
return Json.Deserialize<AkiProfileModInfo[]>(json);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
return new AkiProfileModInfo[] { };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void LoadServer(string backendUrl)
|
public static void LoadServer(string backendUrl)
|
||||||
{
|
{
|
||||||
string json = "";
|
string json = "";
|
||||||
|
20
project/Aki.Launcher.Base/Models/Aki/AkiProfileModInfo.cs
Normal file
20
project/Aki.Launcher.Base/Models/Aki/AkiProfileModInfo.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace Aki.Launch.Models.Aki
|
||||||
|
{
|
||||||
|
public class AkiProfileModInfo
|
||||||
|
{
|
||||||
|
public string Author { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
public DateTime DateAdded { get; set; }
|
||||||
|
public string Version { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
"author": "Boop",
|
||||||
|
"dateAdded": 1687150604114,
|
||||||
|
"name": "Boop's Quest Zone API",
|
||||||
|
"version": "1.0.0"
|
||||||
|
*/
|
45
project/Aki.Launcher.Base/Models/Aki/AkiServerModInfo.cs
Normal file
45
project/Aki.Launcher.Base/Models/Aki/AkiServerModInfo.cs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Aki.Launch.Models.Aki
|
||||||
|
{
|
||||||
|
public class AkiServerModInfo
|
||||||
|
{
|
||||||
|
public string Name { get; set; }
|
||||||
|
public string Version { get; set; }
|
||||||
|
public string Main { get; set; }
|
||||||
|
public string License { get; set; }
|
||||||
|
public string Author { get; set; }
|
||||||
|
public string AkiVersion { get; set; }
|
||||||
|
public Dictionary<string, string> Scripts { get; set; }
|
||||||
|
public DevDependencies DevDependencies { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
{
|
||||||
|
"wafflelord-ZeroToHeroPlus-1.0.0": {
|
||||||
|
"name": "ZeroToHeroPlus",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"main": "src/mod.ts",
|
||||||
|
"license": "MIT",
|
||||||
|
"author": "waffle.lord",
|
||||||
|
"akiVersion": "~3.6",
|
||||||
|
"scripts": {
|
||||||
|
"setup": "npm i",
|
||||||
|
"build": "node ./packageBuild.ts"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "16.18.10",
|
||||||
|
"@typescript-eslint/eslint-plugin": "5.46.1",
|
||||||
|
"@typescript-eslint/parser": "5.46.1",
|
||||||
|
"bestzip": "2.2.1",
|
||||||
|
"eslint": "8.30.0",
|
||||||
|
"fs-extra": "11.1.0",
|
||||||
|
"glob": "8.0.3",
|
||||||
|
"tsyringe": "4.7.0",
|
||||||
|
"typescript": "4.9.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
37
project/Aki.Launcher.Base/Models/Aki/DevDependencies.cs
Normal file
37
project/Aki.Launcher.Base/Models/Aki/DevDependencies.cs
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace Aki.Launch.Models.Aki
|
||||||
|
{
|
||||||
|
public class DevDependencies
|
||||||
|
{
|
||||||
|
[JsonProperty("@types/node")]
|
||||||
|
public string TypesNode { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("@typescript-eslint/eslint-plugin")]
|
||||||
|
public string EslintPlugin { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("@typescript-eslint/parser")]
|
||||||
|
public string EslintParser { get; set; }
|
||||||
|
public string BestZip { get; set; }
|
||||||
|
public string Eslint { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("fs-extra")]
|
||||||
|
public string FsExtra { get; set; }
|
||||||
|
public string Glob { get; set; }
|
||||||
|
public string Tsyringe { get; set; }
|
||||||
|
public string Typescript { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
"@types/node": "16.18.10",
|
||||||
|
"@typescript-eslint/eslint-plugin": "5.46.1",
|
||||||
|
"@typescript-eslint/parser": "5.46.1",
|
||||||
|
"bestzip": "2.2.1",
|
||||||
|
"eslint": "8.30.0",
|
||||||
|
"fs-extra": "11.1.0",
|
||||||
|
"glob": "8.0.3",
|
||||||
|
"tsyringe": "4.7.0",
|
||||||
|
"typescript": "4.9.4"
|
||||||
|
*/
|
@ -4,10 +4,13 @@
|
|||||||
xmlns:rxui="using:Avalonia.ReactiveUI"
|
xmlns:rxui="using:Avalonia.ReactiveUI"
|
||||||
>
|
>
|
||||||
<Design.PreviewWith>
|
<Design.PreviewWith>
|
||||||
<StackPanel Spacing="5" Background="{StaticResource AKI_Background_Dark}">
|
<StackPanel Spacing="5" Background="{StaticResource AKI_Background_Dark}" Margin="50">
|
||||||
<Button Content="Blah"/>
|
<Button Content="Blah"/>
|
||||||
<TextBox Text="Some cool text here" Margin="5"/>
|
<TextBox Text="Some cool text here" Margin="5"/>
|
||||||
<TextBox Watermark="This is a watermark" Margin="5"/>
|
<TextBox Watermark="This is a watermark" Margin="5"/>
|
||||||
|
<Expander Header="Test Header" Margin="10">
|
||||||
|
<TextBlock Text="test"/>
|
||||||
|
</Expander>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Design.PreviewWith>
|
</Design.PreviewWith>
|
||||||
|
|
||||||
@ -473,4 +476,13 @@
|
|||||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Background_Dark}" />
|
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Background_Dark}" />
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
|
<!-- Expander Styles -->
|
||||||
|
<Style Selector="Expander">
|
||||||
|
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/>
|
||||||
|
<Setter Property="CornerRadius" Value="5"/>
|
||||||
|
</Style>
|
||||||
|
<Style Selector="Expander:expanded /template/ Border#ExpanderContent">
|
||||||
|
<Setter Property="Background" Value="Red"/>
|
||||||
|
</Style>
|
||||||
|
|
||||||
</Styles>
|
</Styles>
|
@ -12,6 +12,8 @@ using System.Reactive.Disposables;
|
|||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Aki.Launcher.Models.Aki;
|
using Aki.Launcher.Models.Aki;
|
||||||
|
using Aki.Launch.Models.Aki;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Aki.Launcher.ViewModels
|
namespace Aki.Launcher.ViewModels
|
||||||
{
|
{
|
||||||
@ -33,6 +35,9 @@ namespace Aki.Launcher.ViewModels
|
|||||||
|
|
||||||
public ImageHelper SideImage { get; } = new ImageHelper();
|
public ImageHelper SideImage { get; } = new ImageHelper();
|
||||||
|
|
||||||
|
public Dictionary<string, AkiServerModInfo> ServerMods { get; set; }
|
||||||
|
public AkiProfileModInfo[] ProfileMods { get; set; }
|
||||||
|
|
||||||
private GameStarter gameStarter = new GameStarter(new GameStarterFrontend());
|
private GameStarter gameStarter = new GameStarter(new GameStarterFrontend());
|
||||||
|
|
||||||
private ProcessMonitor monitor { get; set; }
|
private ProcessMonitor monitor { get; set; }
|
||||||
@ -62,6 +67,9 @@ namespace Aki.Launcher.ViewModels
|
|||||||
CurrentEdition = AccountManager.SelectedAccount.edition;
|
CurrentEdition = AccountManager.SelectedAccount.edition;
|
||||||
|
|
||||||
CurrentID = AccountManager.SelectedAccount.id;
|
CurrentID = AccountManager.SelectedAccount.id;
|
||||||
|
|
||||||
|
ServerMods = ServerManager.GetLoadedServerMods();
|
||||||
|
ProfileMods = ServerManager.GetProfileMods();
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task GameVersionCheck()
|
private async Task GameVersionCheck()
|
||||||
|
@ -55,6 +55,34 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
|
<!-- Mods bar -->
|
||||||
|
<Expander Grid.Row="2" Grid.Column="1" Margin="0 10"
|
||||||
|
Header="3 Server Mods - 3 Profile Mods"
|
||||||
|
Background="{StaticResource AKI_Background_Dark}"
|
||||||
|
CornerRadius="5">
|
||||||
|
<ItemsControl Background="{StaticResource AKI_Background_Dark}">
|
||||||
|
<ItemsControl.Items>
|
||||||
|
<Label Content="Testing 0"/>
|
||||||
|
<Label Content="Testing 0"/>
|
||||||
|
<Label Content="Testing 0"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing 1"/>
|
||||||
|
<Label Content="Testing 1"/>
|
||||||
|
<Label Content="Testing 1"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing"/>
|
||||||
|
<Label Content="Testing 2"/>
|
||||||
|
<Label Content="Testing 2"/>
|
||||||
|
<Label Content="Testing 2"/>
|
||||||
|
</ItemsControl.Items>
|
||||||
|
</ItemsControl>
|
||||||
|
</Expander>
|
||||||
|
|
||||||
<!-- Bottom bar -->
|
<!-- Bottom bar -->
|
||||||
<Border Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2" CornerRadius="5"
|
<Border Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2" CornerRadius="5"
|
||||||
BorderBrush="{StaticResource AKI_Background_Dark}"
|
BorderBrush="{StaticResource AKI_Background_Dark}"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user