mirror of
https://github.com/BililiveRecorder/BililiveRecorder.git
synced 2024-12-27 12:35:35 +08:00
45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
|
using System.Collections.Generic;
|
||
|
using Newtonsoft.Json;
|
||
|
|
||
|
#nullable enable
|
||
|
namespace BililiveRecorder.Core.Config.V2
|
||
|
{
|
||
|
public class ConfigV2 : ConfigBase
|
||
|
{
|
||
|
public override int Version => 2;
|
||
|
|
||
|
[JsonProperty("global")]
|
||
|
public GlobalConfig Global { get; set; } = new GlobalConfig();
|
||
|
|
||
|
[JsonProperty("rooms")]
|
||
|
public List<RoomConfig> Rooms { get; set; } = new List<RoomConfig>();
|
||
|
}
|
||
|
|
||
|
public partial class RoomConfig
|
||
|
{
|
||
|
public RoomConfig() : base(x => x.AutoMap(p => new[] { "Has" + p.Name }))
|
||
|
{ }
|
||
|
|
||
|
internal void SetParent(GlobalConfig? config) => this.Parent = config;
|
||
|
|
||
|
public string? WorkDirectory => this.GetPropertyValue<string>();
|
||
|
}
|
||
|
|
||
|
public partial class GlobalConfig
|
||
|
{
|
||
|
public GlobalConfig() : base(x => x.AutoMap(p => new[] { "Has" + p.Name }))
|
||
|
{
|
||
|
this.Parent = DefaultConfig.Instance;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// 当前工作目录
|
||
|
/// </summary>
|
||
|
public string? WorkDirectory
|
||
|
{
|
||
|
get => this.GetPropertyValue<string>();
|
||
|
set => this.SetPropertyValue(value);
|
||
|
}
|
||
|
}
|
||
|
}
|