JD2022-TU1/main/tools/apps/Packager/AssetCooker/Task.cs

40 lines
906 B
C#

using System;
namespace Packager.AssetCooker
{
public class Task
{
public enum TaskState
{
Idle,
Cooking,
Done,
Failed
};
public string FileToProcess { get; private set; }
public TaskState State { get; set; }
public TimeSpan Duration { get; set; }
public FileType FileType { get; private set; }
// derived states
public bool Failed => State == TaskState.Failed;
public bool Finished => State == TaskState.Done || State == TaskState.Failed;
public Task(string fileToProcess)
{
FileToProcess = fileToProcess.TrimStart('\\', '/');
State = TaskState.Idle;
FileType = fileToProcess.GetFileType();
}
public override string ToString()
{
return FileToProcess;
}
}
}