/// <summary> /// Open logs and group to cargo, and return. /// </summary> /// <param name="openDir">Principal, PublicLogSavepath</param> /// <param name="logCargoFilter"></param> /// <param name="logDatFilter"></param> /// <returns></returns> public List <DataCargo> OpenPublicDataCargo(string openDir, OpenFileFilter logCargoFilter, OpenFileFilter logDatFilter) { var logCargos = new List <DataCargo>(); string[] cargoDirs = Directory.GetDirectories(openDir, logCargoFilter.ToString(), SearchOption.TopDirectoryOnly); var bs = new JsonSaves(); foreach (var cargoDir in cargoDirs) { string[] logs = Directory.GetFiles(cargoDir, $"{logDatFilter.ToString()}{FileEndChar.DataLog}.dat", SearchOption.TopDirectoryOnly); if (logs.Length <= 0) { continue; } DataCargo lc = new DataCargo(); foreach (var logfile in logs) //Get each logs in cargo(cargo = folder, log = .dat) only for this { var log = bs.TransferToObject <Data>(logfile); if (log != default) { lc.Load(log); } } lc.Lock(); logCargos.Add(lc); } return(logCargos); }
public override void OnExecute(DataCargo <int> data) { data.Payload += 1; }
public override void OnExecute(DataCargo <string> data) { data.Payload += "injected value"; }