private CodeGenFile[] Generate(ComponentData data) { return(new[] { GenerateInterface(data) } .Concat(data.GetContextNames().Select(contextName => GenerateEntityInterface(contextName, data))) .ToArray()); }
private ComponentData[] CreateDataForEvents(ComponentData data) { return(data.GetContextNames() .SelectMany( contextName => data.GetEventData() .Select( eventData => { var dataForEvent = new ComponentData(data); dataForEvent.IsEvent(false); dataForEvent.IsUnique(false); dataForEvent.ShouldGenerateComponent(false); var eventComponentName = data.EventComponentName(eventData); var eventTypeSuffix = eventData.GetEventTypeSuffix(); var optionalContextName = dataForEvent.GetContextNames().Length > 1 ? contextName : string.Empty; var listenerComponentName = optionalContextName + eventComponentName + eventTypeSuffix.AddListenerSuffix(); dataForEvent.SetTypeName(listenerComponentName.AddComponentSuffix()); dataForEvent.SetMemberData( new[] { new MemberData( "System.Collections.Generic.List<I" + listenerComponentName + ">", "value") }); dataForEvent.SetContextNames( new[] { contextName }); return dataForEvent; }) .ToArray()) .ToArray()); }
private CodeGenFile[] Generate(ComponentData data) { return data.GetContextNames() .SelectMany(contextName => Generate(contextName, data)) .ToArray(); }
private CodeGenFile[] Generate(ComponentData data) { return(data.GetContextNames() .Select(context => Generate(context, data)) .ToArray()); }
public static string Event(this ComponentData data, string contextName, EventData eventData) { var optionalContextName = data.GetContextNames().Length > 1 ? contextName : string.Empty; return(optionalContextName + EventComponentName(data, eventData) + GetEventTypeSuffix(eventData)); }