public void Build_Script_Finish(EngineState s, Dictionary <string, string> localVars) { if (s.DisableLogger) { return; } if (s.DelayedLogging) { DB.InsertAll(BuildLogPool); BuildLogPool.Clear(); } if (s.DisableLogger == false) { long buildId = s.BuildId; long scriptId = s.ScriptId; // Scripts scriptDict.TryRemove(scriptId, out Tuple <DB_Script, Stopwatch> tuple); if (tuple == null) { throw new KeyNotFoundException($"Unable to find DB_Script Instance, id = {scriptId}"); } DB_Script dbScript = tuple.Item1; Stopwatch watch = tuple.Item2; watch.Stop(); dbScript.ElapsedMilliSec = watch.ElapsedMilliseconds; if (localVars != null) { List <DB_Variable> varLogs = new List <DB_Variable>(localVars.Count); foreach (var kv in localVars) { DB_Variable dbVar = new DB_Variable() { BuildId = buildId, ScriptId = scriptId, Type = VarsType.Local, Key = kv.Key, Value = kv.Value, }; varLogs.Add(dbVar); // Fire Event VariableUpdated?.Invoke(this, new VariableUpdateEventArgs(dbVar)); } DB.InsertAll(varLogs); } DB.Update(dbScript); // Fire Event if (s.DelayedLogging) { ScriptUpdated?.Invoke(this, new ScriptUpdateEventArgs(dbScript)); } } }
public long Build_Script_Init(EngineState s, Script p, int order) { if (s.DisableLogger) { return(0); } long buildId = s.BuildId; DB_Script dbScript = new DB_Script() { BuildId = buildId, Level = p.Level, Order = order, Name = p.Title, Path = p.ShortPath, Version = p.Version, }; DB.Insert(dbScript); scriptDict[dbScript.Id] = new Tuple <DB_Script, Stopwatch>(dbScript, Stopwatch.StartNew()); // Fire Event if (!s.DelayedLogging) { ScriptUpdated?.Invoke(this, new ScriptUpdateEventArgs(dbScript)); } return(dbScript.Id); }