public bool Check(GenerateScorpioClass generate, Type type, MethodInfo methodInfo) { if (methodInfo.IsDefined(typeof(ObsoleteAttribute), true)) { return(false); } else if (type == typeof(Input) && methodInfo.Name == "IsJoystickPreconfigured") { return(false); } return(true); }
public bool Check(GenerateScorpioClass generate, Type type, PropertyInfo propertyInfo) { if (propertyInfo.IsDefined(typeof(ObsoleteAttribute), true)) { return(false); } else if (type == typeof(Texture2D) && propertyInfo.Name == "alphaIsTransparency") { return(false); } return(true); }
static void Fast(CommandLine command, string[] args) { var output = Launch.GetPath("-output", "-o"); var dll = command.GetValue("-dll"); var assembly = dll.isNullOrWhiteSpace() ? null : Assembly.LoadFile(Path.Combine(CurrentDirectory, dll)); var strClass = command.GetValue("-class"); if (strClass.isNullOrWhiteSpace()) { throw new Exception("找不到 -class 参数"); } var strExtension = command.GetValue("-extension"); ClassFilter filter = null; var strFilter = command.GetValue("-filter"); if (!strFilter.isNullOrWhiteSpace()) { var filterType = GetType(assembly, strFilter, typeof(ClassFilter)); if (filterType != null) { filter = (ClassFilter)Activator.CreateInstance(filterType); } } var extensions = new List <Type>(); if (!strExtension.isNullOrWhiteSpace()) { foreach (var cl in strExtension.Split(';')) { extensions.Add(GetType(assembly, cl, null)); } } var classNames = strClass.Split(";"); foreach (var className in classNames) { var clazz = GetType(assembly, className, null); if (clazz == null) { throw new Exception($"找不到 class, 请输入完整类型或检查类名是否正确 : {className}"); } var generate = new GenerateScorpioClass(clazz); generate.SetClassFilter(filter); foreach (var ex in extensions) { generate.AddExtensionType(ex); } var outputFile = Path.Combine(output, generate.ScorpioClassName + ".cs"); FileUtil.CreateFile(outputFile, generate.Generate()); Logger.info($"生成快速反射类 {className} -> {outputFile}"); } }
public bool Check(GenerateScorpioClass generate, Type type, EventInfo eventInfo) { return(true); }
public bool Check(GenerateScorpioClass generate, Type type, FieldInfo fieldInfo) { return(true); }