mirror of https://github.com/hykilpikonna/AquaDX
43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
![]() |
using System;
|
||
|
using System.IO;
|
||
|
using AquaMai.Config.Interfaces;
|
||
|
using AquaMai.Config.HeadlessLoader;
|
||
|
using Microsoft.Build.Framework;
|
||
|
using Microsoft.Build.Utilities;
|
||
|
|
||
|
public class GenerateExampleConfig : Task
|
||
|
{
|
||
|
[Required]
|
||
|
public string DllPath { get; set; }
|
||
|
|
||
|
[Required]
|
||
|
public string OutputPath { get; set; }
|
||
|
|
||
|
public override bool Execute()
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
var configInterface = HeadlessConfigLoader.LoadFromPacked(DllPath);
|
||
|
var config = configInterface.CreateConfig();
|
||
|
foreach (var lang in (string[]) ["en", "zh"])
|
||
|
{
|
||
|
var configSerializer = configInterface.CreateConfigSerializer(new IConfigSerializer.Options()
|
||
|
{
|
||
|
Lang = lang,
|
||
|
IncludeBanner = true,
|
||
|
OverrideLocaleValue = true
|
||
|
});
|
||
|
var example = configSerializer.Serialize(config);
|
||
|
File.WriteAllText(Path.Combine(OutputPath, $"AquaMai.{lang}.toml"), example);
|
||
|
}
|
||
|
|
||
|
return true;
|
||
|
}
|
||
|
catch (Exception e)
|
||
|
{
|
||
|
Log.LogErrorFromException(e, true);
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
}
|