Esempio n. 1
0
        public static void                                    ProvideEventCompNewEnts(Contexts contexts, MainEntity ent)
        {
            foreach (var contextName in ent.contextNamesComp.Values)
            {
                foreach (var eventInfo in ent.eventComp.Values)
                {
                    var componentName         = ent.comp.FullTypeName.ToComponentName(contexts.settings.isIgnoreNamespaces);
                    var optionalContextName   = ent.contextNamesComp.Values.Count > 1 ? contextName : string.Empty;
                    var eventTypeSuffix       = ent.GetEventTypeSuffix(eventInfo);
                    var theAnySuffix          = eventInfo.EventTarget == EventTarget.Any ? "Any" : "";
                    var listenerComponentName = optionalContextName + theAnySuffix + componentName + eventTypeSuffix + "Listener";
                    var eventCompFullTypeName = listenerComponentName.AddComponentSuffix();

                    var eventListenerCompEnt = contexts.main.CreateEntity(  );
                    eventListenerCompEnt.isEventListenerComp = true;

                    eventListenerCompEnt.AddComp(listenerComponentName, eventCompFullTypeName);
                    eventListenerCompEnt.AddContextNamesComp(new List <String> {
                        contextName
                    });
                    eventListenerCompEnt.AddPublicFieldsComp(new List <FieldInfo>
                    {
                        new FieldInfo("System.Collections.Generic.List<I" + listenerComponentName + ">", "value")
                    });
                }
            }
        }
Esempio n. 2
0
        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)));
        }
Esempio n. 3
0
        public static string Event(this MainEntity ent, Contexts contexts, string contextName, EventInfo eventInfo)
        {
            var optionalContextName = ent.hasContextNamesComp && ent.contextNamesComp.Values.Count > 1 ? contextName : string.Empty;
            var theAnyPrefix        = eventInfo.EventTarget == EventTarget.Any ? "Any" : "";

            return(optionalContextName + theAnyPrefix + ent.ComponentName(contexts) + ent.GetEventTypeSuffix(eventInfo));
        }