- tweak: refactor funny

This commit is contained in:
2025-01-05 17:05:23 +03:00
parent 5b24f915a2
commit 8619e248fd
67 changed files with 485 additions and 492 deletions

View File

@@ -4,14 +4,15 @@ using System.Linq;
using System.Windows.Input;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Nebula.Launcher.Services;
using Nebula.Launcher.Utils;
using Nebula.Launcher.ViewHelper;
using Nebula.Launcher.Views.Pages;
using Nebula.Shared;
using Nebula.Shared.Services;
using Nebula.Shared.Utils;
namespace Nebula.Launcher.ViewModels;
[ViewRegister(typeof(AccountInfoView))]
[ViewModelRegister(typeof(AccountInfoView))]
public partial class AccountInfoViewModel : ViewModelBase
{
private readonly PopupMessageService _popupMessageService;
@@ -79,12 +80,12 @@ public partial class AccountInfoViewModel : ViewModelBase
public async void DoAuth()
{
_popupMessageService.PopupInfo("Auth think, please wait...");
_popupMessageService.Popup("Auth think, please wait...");
if(await _authService.Auth(CurrentAlp))
{
_popupMessageService.ClosePopup();
_popupMessageService.PopupInfo("Hello, " + _authService.SelectedAuth!.AuthLoginPassword.Login);
_popupMessageService.Popup("Hello, " + _authService.SelectedAuth!.AuthLoginPassword.Login);
IsLogged = true;
_configurationService.SetConfigValue(CurrentConVar.AuthCurrent, CurrentAlp);
}
@@ -92,7 +93,7 @@ public partial class AccountInfoViewModel : ViewModelBase
{
_popupMessageService.ClosePopup();
Logout();
_popupMessageService.PopupInfo("Well, shit is happened: " + _authService.Reason);
_popupMessageService.Popup("Well, shit is happened: " + _authService.Reason);
}
}
@@ -100,7 +101,7 @@ public partial class AccountInfoViewModel : ViewModelBase
{
IsLogged = false;
CurrentAlp = new AuthLoginPassword("", "", "");
_authService.SelectedAuth = null;
_authService.ClearAuth();
}
private void UpdateAuthMenu()

View File

@@ -5,7 +5,7 @@ using Nebula.Launcher.Views.Popup;
namespace Nebula.Launcher.ViewModels;
[ViewRegister(typeof(InfoPopupView), false)]
[ViewModelRegister(typeof(InfoPopupView), false)]
public partial class InfoPopupViewModel : PopupViewModelBase
{
public InfoPopupViewModel()

View File

@@ -5,15 +5,15 @@ using System.Linq;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using JetBrains.Annotations;
using Nebula.Launcher.Models;
using Nebula.Launcher.Services;
using Nebula.Launcher.Utils;
using Nebula.Launcher.ViewHelper;
using Nebula.Launcher.Views;
using Nebula.Shared.Models;
using Nebula.Shared.Services;
using Nebula.Shared.Utils;
namespace Nebula.Launcher.ViewModels;
[ViewRegister(typeof(MainView))]
[ViewModelRegister(typeof(MainView))]
public partial class MainViewModel : ViewModelBase
{
public MainViewModel()
@@ -111,15 +111,23 @@ public partial class MainViewModel : ViewModelBase
Helper.OpenBrowser("https://cinka.ru/nebula-launcher/");
}
private void OnPopupRequired(PopupViewModelBase? viewModelBase)
private void OnPopupRequired(object? viewModelBase)
{
if (viewModelBase is null)
switch (viewModelBase)
{
ClosePopup();
}
else
{
PopupMessage(viewModelBase);
case null:
ClosePopup();
break;
case string str:
{
var view = GetViewModel<InfoPopupViewModel>();
view.InfoText = str;
PopupMessage(view);
break;
}
case PopupViewModelBase @base:
PopupMessage(@base);
break;
}
}

View File

@@ -1,33 +1,41 @@
using System;
using System.Diagnostics;
using CommunityToolkit.Mvvm.ComponentModel;
using Microsoft.Extensions.DependencyInjection;
using Nebula.Launcher.Models;
using Nebula.Launcher.Services;
using Nebula.Launcher.ViewHelper;
using Nebula.Shared.Models;
namespace Nebula.Launcher.ViewModels;
[ViewModelRegister(isSingleton:false)]
public partial class ServerEntryModelView : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
private readonly RunnerService _runnerService;
private readonly PopupMessageService _popupMessageService;
private readonly RestService _restService;
[ObservableProperty] private bool _runVisible = true;
public ServerHubInfo ServerHubInfo { get; }
public ServerHubInfo ServerHubInfo { get; set; }
public ServerEntryModelView(IServiceProvider serviceProvider, ServerHubInfo serverHubInfo) : base(serviceProvider)
public ServerEntryModelView() : base()
{
_serviceProvider = serviceProvider;
_runnerService = serviceProvider.GetService<RunnerService>()!;
_popupMessageService = serviceProvider.GetService<PopupMessageService>()!;
_restService = serviceProvider.GetService<RestService>()!;
ServerHubInfo = serverHubInfo;
}
public async void OnConnectRequired()
public ServerEntryModelView(IServiceProvider serviceProvider) : base(serviceProvider)
{
_popupMessageService.PopupInfo("Running server: " + ServerHubInfo.StatusData.Name);
await _runnerService.RunGame(ServerHubInfo.Address);
}
public void RunInstance()
{
var p = Process.Start("./Nebula.Runner", "a b c");
p.BeginOutputReadLine();
p.BeginErrorReadLine();
}
public void ReadLog()
{
}
public void StopInstance()
{
}
}

View File

@@ -3,14 +3,14 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using CommunityToolkit.Mvvm.ComponentModel;
using Nebula.Launcher.Models;
using Nebula.Launcher.Services;
using Nebula.Launcher.ViewHelper;
using Nebula.Launcher.Views.Pages;
using Nebula.Shared.Models;
using Nebula.Shared.Services;
namespace Nebula.Launcher.ViewModels;
[ViewRegister(typeof(ServerListView))]
[ViewModelRegister(typeof(ServerListView))]
public partial class ServerListViewModel : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
@@ -84,7 +84,9 @@ public partial class ServerListViewModel : ViewModelBase
private ServerEntryModelView CreateServerView(ServerHubInfo serverHubInfo)
{
return new ServerEntryModelView(_serviceProvider, serverHubInfo);
var svn = GetViewModel<ServerEntryModelView>();
svn.ServerHubInfo = serverHubInfo;
return svn;
}
public void FilterRequired()