private static CodeGenerateContainerInfo CreateAssetInfo(Utf8JsonMathTypeGenerateInfo info) { if (info == null) { throw new ArgumentNullException(nameof(info)); } var assetInfo = new CodeGenerateContainerInfo { TypeName = info.Type.AssemblyQualifiedName }; for (int i = 0; i < info.Count; i++) { CodeGenerateContainerInfo.MemberInfo member = CreateMember(i, info.IsVector); assetInfo.Members.Add(member); } return(assetInfo); }
public static void GenerateFiles(List <Utf8JsonMathTypeGenerateInfo> infos, string folderPath) { if (infos == null) { throw new ArgumentNullException(nameof(infos)); } if (string.IsNullOrEmpty(folderPath)) { throw new ArgumentNullException(nameof(folderPath)); } Directory.CreateDirectory(folderPath); for (int i = 0; i < infos.Count; i++) { Utf8JsonMathTypeGenerateInfo info = infos[i]; CodeGenerateContainerInfo assetInfo = CreateAssetInfo(info); string path = $"{folderPath}/{info.Type.Name}.{Utf8JsonExternalTypeEditorUtility.EXTERNAL_TYPE_ASSET_EXTENSION_NAME}"; string content = EditorJsonUtility.ToJson(assetInfo, true); File.WriteAllText(path, content); } }