public void WrapCommon() { //最后导出的内容是: BaseType + (All-Non-Namespace + WhiteList) - BlackList //导出的时候同时注册 //基本类型(int,bool,string等) // OnlyAddClass("", "double"); // OnlyAddClass("", "float"); // OnlyAddClass("", "long"); // OnlyAddClass("", "ulong"); // OnlyAddClass("", "int"); // OnlyAddClass("", "uint"); // OnlyAddClass("", "short"); // OnlyAddClass("", "ushort"); // OnlyAddClass("", "byte"); // OnlyAddClass("", "sbyte"); // OnlyAddClass("", "char"); // OnlyAddClass("", "object"); // OnlyAddClass("", "bool"); // OnlyAddClass("", "string"); //项目里没有Namespace的所有类, 减去黑名单 if (m_wrapNonNameSpaceClass) { Type[] types = WrapReflectionTools.GetTypesByNamespace (""); if (types != null) { for (int i = 0; i < types.Length; i++) { OnlyAddClass (types [i]); } } } for (int i = 0; i < _whiteList.Count; i++) { OnlyAddClass(_whiteList[i]); } ReloadWrap(); UpdateWrapCore(); //Add完毕ReloadDataBase,会编译代码 AssetDatabase.Refresh(); }
//Wrap一个自己输入的内容,需要判断是一个类还是一个命名空间 public void WrapCustom(string text) { Type type = WrapReflectionTools.GetType(text); //输入的是一个类 if(type != null) { string assemblyName = WrapReflectionTools.GetWrapFolderName(type); string className = WrapReflectionTools.GetWrapFileName(type); WrapClass wc = GetWrapClass(assemblyName); if(wc == null) { wc = new WrapClass(assemblyName); AddClass(type); } else { if(!wc.m_classes.Contains(className)) AddClass(type); else UpdateClass(new string[]{text}); } } //输入的是一个命名空间 else{ Type[] types = WrapReflectionTools.GetTypesByNamespace(text); if(types != null) { for(int i = 0; i < types.Length; i++) { // Debug.Log(types[i].ToString()); AddClass(types[i]); } } } ReloadWrap(); UpdateWrapCore(); //Add完毕ReloadDataBase,会编译代码 AssetDatabase.Refresh(); }