public static string Replace(this string template, Contexts contexts, MainEntity ent, string contextName, EventInfo eventInfo) { var eventListener = ent.EventListener(contexts, contextName, eventInfo); return(template .Replace(contexts, ent, contextName) .Replace("${EventListenerComponent}", eventListener.AddComponentSuffix()) .Replace("${Event}", ent.Event(contexts, contextName, eventInfo)) .Replace("${EventListener}", eventListener) .Replace("${eventListener}", eventListener.LowercaseFirst( )) .Replace("${EventType}", ent.GetEventTypeSuffix(eventInfo))); }
private String GetFilter(MainEntity ent, string contextName, EventInfo eventInfo) { var filter = string.Empty; if (!ent.hasPublicFieldsComp) { switch (eventInfo.EventType) { case EventType.Added: filter = "entity." + ent.PrefixedComponentName(_contexts); break; case EventType.Removed: filter = "!entity." + ent.PrefixedComponentName(_contexts); break; } } else { switch (eventInfo.EventType) { case EventType.Added: filter = "entity.has" + ent.ComponentName(_contexts); break; case EventType.Removed: filter = "!entity.has" + ent.ComponentName(_contexts); break; } } if (eventInfo.EventTarget == EventTarget.Self) { filter += " && entity.has" + ent.EventListener(_contexts, contextName, eventInfo); } return(filter); }