public Proc.edure ConvertR(Proc.edureSimple procedure, bool cacheIfNotFound) { if (procedure == null) { return(null); } if (!responseAilias.TryGetValue(procedure, out Proc.edure p)) { p = incident => { procedure.Invoke(incident); return(Proc.Result.Success); }; if (cacheIfNotFound) { responseAilias[procedure] = p; } } return(p); }
/// <summary> /// this function adds an entry to a table that might not be removed if it is called from outside <see cref="NonStandard.Procedure"/> algorithms /// </summary> internal static Proc.edure ConvertR(Proc.edureSimple r, bool cacheIfNotFound) { return(Main.ConvertR(r, cacheIfNotFound)); }
public static int GetResponseIndex(int incidentCode, Proc.edureSimple procedure) { return(Main.GetResponseIndex(incidentCode, ConvertR(procedure, false))); }
public static void OnIncident(Proc.Id id, Proc.edureSimple procedure, int count = -1, Proc.edureSimple onLast = null) { Main.OnIncident(id, ConvertR(procedure, true), count, ConvertR(onLast, false)); }
public static Incident Enqueue(Proc.edureSimple response) { return(SystemClock.Delay(0, ConvertR(response, true))); }
public static Incident Delay(long delay, Proc.edureSimple response) { return(SystemClock.Delay(delay, ConvertR(response, true))); }
public Strategy(MeritHeuristicFunctionType merit, string identifier, Proc.edureSimple action, Strategy prev = null) : this(merit, identifier, Proc.ConvertR(action, false), prev) { }
public Strategy(string identifier, Proc.edureSimple action, Strategy prev = null) : this(identifier, Proc.ConvertR(action, false), prev) { }