JD2022-TU1/main/tools/apps/Packager/BuildConfigurations/JdNowPackageTaskList.cs

92 lines
3.6 KiB
C#

using System.ComponentModel;
using System.IO;
using JD.Asset.Types.Map;
using JD.Core.ProjectManaging;
using Packager.Tasks;
using Packager.Tasks.JDNow;
using GenerateAudioPreviewTask = Packager.Tasks.JDNow.GenerateAudioPreviewTask;
namespace Packager.BuildConfigurations
{
public class JdNowPackageTaskList : TaskList
{
private GenerateMapInfoTask _generateMapInfoTask;
private GenerateMetadataTask _generateMetadataTask;
private GenerateScoringFilesTask _scoringFilesTask;
private GenerateAudioPreviewTask _generateAudioPreviewTask;
private GenerateMenuArtTask _menuArtTask;
private GenerateVideoPreviewTask _generateVideoPreviewTask;
private GenerateZipTask _generateZipTask;
private GenerateAvatarsTask _generateAvatarsTask;
private GeneratePictosTask _generatePictosTask;
private CopyFileTask _copyToOutputFolder;
[Browsable(true)]
public Map Map { get; set; }
[Browsable(true)]
public string OutputPath { get; set; }
public override void Initialize()
{
if (OutputPath == null)
{
OutputPath = Path.Combine(DataPath.GetAbsolutePath("temp"), "JDNow");
if (!Directory.Exists(OutputPath))
{
Directory.CreateDirectory(OutputPath);
}
}
_generateMapInfoTask = AddTask<GenerateMapInfoTask>("Generate map info");
_generateMapInfoTask.Map = Map;
_generateAvatarsTask = AddTask<GenerateAvatarsTask>("Generate avatars");
_generateAvatarsTask.Map = Map;
_generateMetadataTask = AddTask<GenerateMetadataTask>("Generate metadata");
_generateMetadataTask.AvatarList.Add(_generateAvatarsTask.AvatarList);
_generateMetadataTask.Map = Map;
_generatePictosTask = AddTask<GeneratePictosTask>("Generate pictos");
_generatePictosTask.Map = Map;
_scoringFilesTask = AddTask<GenerateScoringFilesTask>("Generate scoring info");
_scoringFilesTask.Map = Map;
_generateAudioPreviewTask = AddTask<GenerateAudioPreviewTask>("Generate audio preview");
_generateAudioPreviewTask.Map = Map;
_generateVideoPreviewTask = AddTask<GenerateVideoPreviewTask>("Generate video preview");
_generateVideoPreviewTask.Map = Map;
_menuArtTask = AddTask<GenerateMenuArtTask>("Generate menu arts");
_menuArtTask.Map = Map;
_generateZipTask = AddTask<GenerateZipTask>("Package everything in a zip folder");
_generateZipTask.Map = Map;
_generateZipTask.FolderList.Add(_generateMapInfoTask.ExportFolder,
_generateAvatarsTask.ExportFolder,
_generateMetadataTask.ExportFolder,
_generatePictosTask.ExportFolder,
_scoringFilesTask.ExportFolder,
_generateAudioPreviewTask.ExportFolder,
_generateVideoPreviewTask.ExportFolder,
_menuArtTask.ExportFolder);
_copyToOutputFolder = AddTask<CopyFileTask>("Copy result folder to the output path");
_copyToOutputFolder.OutputFolder.Value = OutputPath;
_copyToOutputFolder.FileList.Add(_generateZipTask.ResultFiles);
_copyToOutputFolder.CloneDirectoryStructure.Value = "true";
}
}
}