Exemplo n.º 1
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)));
        }
Exemplo n.º 2
0
        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);
        }