public static string Replace(this string template, ComponentData data, string contextName)
 {
     return(template
            .Replace(contextName)
            .Replace("${ComponentType}", data.GetTypeName())
            .Replace("${ComponentName}", data.ComponentName())
            .Replace("${componentName}", data.ComponentName().UppercaseFirst())
            .Replace("${validComponentName}", data.ComponentNameValidUppercaseFirst())
            .Replace("${prefixedComponentName}", data.PrefixedComponentName())
            .Replace("${newMethodParameters}", GetMethodParameters(data.GetMemberData(), true))
            .Replace("${methodParameters}", GetMethodParameters(data.GetMemberData(), false))
            .Replace("${newMethodArgs}", GetMethodArgs(data.GetMemberData(), true))
            .Replace("${methodArgs}", GetMethodArgs(data.GetMemberData(), false))
            .Replace("${Index}", contextName + LOOKUP + "." + data.ComponentName()));
 }
Exemple #2
0
        private string GetFilter(ComponentData data, string contextName, EventData eventData)
        {
            var filter = string.Empty;

            if (data.GetMemberData().Length == 0)
            {
                switch (eventData.eventType)
                {
                case EventType.Added:
                    filter = "entity." + data.PrefixedComponentName();
                    break;

                case EventType.Removed:
                    filter = "!entity." + data.PrefixedComponentName();
                    break;
                }
            }
            else
            {
                switch (eventData.eventType)
                {
                case EventType.Added:
                    filter = "entity.Has" + data.ComponentName();
                    break;

                case EventType.Removed:
                    filter = "!entity.Has" + data.ComponentName();
                    break;
                }
            }

            if (eventData.eventTarget == EventTarget.Self)
            {
                filter += " && entity.Has" + data.EventListener(contextName, eventData);
            }

            return(filter);
        }
Exemple #3
0
        private CodeGenFile GenerateInterface(ComponentData data)
        {
            var template = data.GetMemberData().Length == 0
                                ? FLAG_TEMPLATE
                                : STANDARD_TEMPLATE;

            return(new CodeGenFile(
                       "Components" +
                       Path.DirectorySeparatorChar +
                       "Interfaces" +
                       Path.DirectorySeparatorChar +
                       "I" +
                       data.ComponentName() +
                       "Entity.cs",
                       template.Replace(data, string.Empty),
                       GetType().FullName));
        }
 public static string ComponentNameWithContext(this ComponentData data, string contextName)
 {
     return(contextName + data.ComponentName());
 }
 public static string PrefixedComponentName(this ComponentData data)
 {
     return(data.GetFlagPrefix().UppercaseFirst() + data.ComponentName());
 }