mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-03-15 07:43:20 +08:00
40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using BetterGenshinImpact.Service;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using System;
|
|
using System.Collections.ObjectModel;
|
|
using System.Collections.Specialized;
|
|
using System.Text.Json;
|
|
|
|
namespace BetterGenshinImpact.Core.Script.Group;
|
|
|
|
public partial class ScriptGroup : ObservableObject
|
|
{
|
|
public int Index { get; set; }
|
|
|
|
[ObservableProperty]
|
|
private string _name = string.Empty;
|
|
|
|
[ObservableProperty]
|
|
private ObservableCollection<ScriptGroupProject> _projects = [];
|
|
|
|
public ScriptGroup()
|
|
{
|
|
Projects.CollectionChanged += ProjectsCollectionChanged;
|
|
}
|
|
|
|
private void ProjectsCollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
|
|
{
|
|
OnPropertyChanged(nameof(Projects));
|
|
}
|
|
|
|
public string ToJson()
|
|
{
|
|
return JsonSerializer.Serialize(this, ConfigService.JsonOptions);
|
|
}
|
|
|
|
public static ScriptGroup FromJson(string json)
|
|
{
|
|
return JsonSerializer.Deserialize<ScriptGroup>(json, ConfigService.JsonOptions) ?? throw new Exception("解析脚本组JSON配置失败");
|
|
}
|
|
}
|