public static Event Create(string name, EventReturnMethod returnMethod, PythonTuple parameters) { return(new Event(name, returnMethod, parameters.Cast <PythonTuple>() .Select(p => new EventArg(( string )p[0], p[1])))); }
public static Event DoEvent(this IEventSource self, string name, EventReturnMethod returnMethod, PythonDictionary args = null) { args = args ?? new PythonDictionary(); var argList = args.Select(EventArg.Convert) .ToList(); return(self.DoEvent(name, returnMethod, argList)); }
public static Event DoEvent(this IEventSource self, string name, EventReturnMethod returnMethod, IList <EventArg> args) { args = (args ?? new List <EventArg>()) .Concat(new[] { new EventArg("ch", self) }) .ToList(); var doEvent = Create(name, returnMethod, args.ToArray()); self.SendEvent(doEvent); return(doEvent); }
private Event(string name, EventReturnMethod returnMethod, IEnumerable <EventArg> parameters) { var parts = name.Split(':'); Name = parts.Last(); Level = EventLevel.Room; if (parts.Length > 1) { Level = GetLevel(parts.First()); } if (parts.Length > 2) { Target = parts[1]; } _returnMethod = returnMethod; Parameters = new List <EventArg>(parameters ?? new EventArg[0]); switch (returnMethod) { case EventReturnMethod.None: break; case EventReturnMethod.And: _returnValue = true; break; case EventReturnMethod.Or: _returnValue = false; break; case EventReturnMethod.List: _returnValue = new List <dynamic>(); break; case EventReturnMethod.Sum: _returnValue = 0; break; case EventReturnMethod.First: _returnValue = null; break; default: throw new NotSupportedException("Event return method " + _returnMethod + " is not supported."); } }
public dynamic Event(string name, EventReturnMethod returnMethod = EventReturnMethod.None, params EventArg[] parameters) { return(Event(Entities.Event.Create(name, returnMethod, parameters))); }
public dynamic Event(string name, EventReturnMethod returnMethod = EventReturnMethod.None, PythonDictionary parameters = null) { return(Event(Entities.Event.Create(name, returnMethod, parameters))); }
public static Event Create(string name, EventReturnMethod returnMethod, PythonDictionary parameters) { return(new Event(name, returnMethod, parameters?.Select(p => new EventArg(( string )p.Key, p.Value)))); }
public static Event Create(string name, EventReturnMethod returnMethod = EventReturnMethod.None, params EventArg[] parameters) { return(new Event(name, returnMethod, parameters)); }
public dynamic Event(string name, EventReturnMethod returnMethod, PythonDictionary parameters) { return(null); }