Skip to content

Commit d950968

Browse files
committed
生成代码切换到新实现
1 parent 40823cb commit d950968

File tree

1 file changed

+33
-108
lines changed

1 file changed

+33
-108
lines changed

unity/upms/core/Editor/Src/Generator/IL2Cpp/UnityMenu.cs

Lines changed: 33 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -22,82 +22,63 @@ namespace Generator {
2222
public class UnityMenu {
2323
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp (all in one without wrapper)", false, 2)]
2424
public static void GenV2WithoutWrapper()
25-
{
26-
GenerateEmptyCppWrappers();
27-
GenerateExtensionMethodInfos();
28-
GenerateLinkXML();
29-
GenerateCppPlugin();
30-
//Puerts.Editor.Generator.UnityMenu.GenRegisterInfo();
31-
}
32-
33-
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp (all in one with full wrapper)", false, 3)]
34-
public static void GenV2() {
35-
GenerateCppWrappers();
36-
GenerateExtensionMethodInfos();
37-
GenerateLinkXML();
38-
GenerateCppPlugin();
39-
//Puerts.Editor.Generator.UnityMenu.GenRegisterInfo();
40-
}
41-
42-
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp (all in one with minimum bridge and without wrapper)", false, 4)]
43-
public static void GenMinimumWrappersAndBridge()
44-
{
45-
GenerateMinimumWrappersAndBridge();
46-
GenerateExtensionMethodInfos();
47-
GenerateLinkXML();
48-
GenerateCppPlugin();
49-
//Puerts.Editor.Generator.UnityMenu.GenRegisterInfo();
50-
}
51-
52-
53-
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate/il2cpp c file", false, 6)]
54-
public static void GenerateCppPlugin()
5525
{
5626
var start = DateTime.Now;
5727
var saveTo = PathHelper.GetIl2cppPluginPath();
5828
Directory.CreateDirectory(saveTo);
59-
FileExporter.CopyXIl2cppCPlugin(saveTo);
60-
FileExporter.GenMarcoHeader(saveTo);
61-
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
62-
}
29+
CSharpFileExporter.GenAll(saveTo, false, true);
6330

64-
public static void GenerateCppWrappers()
65-
{
66-
var start = DateTime.Now;
67-
var saveTo = PathHelper.GetIl2cppPluginPath();
31+
var codeOutputDir = Puerts.Configure.GetCodeOutputDirectory();
32+
Directory.CreateDirectory(codeOutputDir);
33+
CSharpFileExporter.GenExtensionMethodInfos(codeOutputDir);
34+
CSharpFileExporter.GenLinkXml(codeOutputDir);
6835

69-
Directory.CreateDirectory(saveTo);
70-
FileExporter.GenCPPWrap(saveTo);
7136
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
37+
AssetDatabase.Refresh();
7238
}
73-
74-
public static void GenerateCppWrappersInConfigure()
39+
40+
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp (all in one with full wrapper)", false, 3)]
41+
public static void GenV2()
7542
{
7643
var start = DateTime.Now;
7744
var saveTo = PathHelper.GetIl2cppPluginPath();
78-
7945
Directory.CreateDirectory(saveTo);
80-
FileExporter.GenCPPWrap(saveTo, true);
46+
CSharpFileExporter.GenAll(saveTo, false, false);
47+
48+
var codeOutputDir = Puerts.Configure.GetCodeOutputDirectory();
49+
Directory.CreateDirectory(codeOutputDir);
50+
CSharpFileExporter.GenExtensionMethodInfos(codeOutputDir);
51+
CSharpFileExporter.GenLinkXml(codeOutputDir);
52+
8153
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
54+
AssetDatabase.Refresh();
8255
}
8356

84-
public static void GenerateEmptyCppWrappers()
57+
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp (all in one with minimum bridge and without wrapper)", false, 4)]
58+
public static void GenMinimumWrappersAndBridge()
8559
{
8660
var start = DateTime.Now;
8761
var saveTo = PathHelper.GetIl2cppPluginPath();
88-
8962
Directory.CreateDirectory(saveTo);
90-
FileExporter.GenCPPWrap(saveTo, false, true);
63+
CSharpFileExporter.GenAll(saveTo, true, true);
64+
65+
var codeOutputDir = Puerts.Configure.GetCodeOutputDirectory();
66+
Directory.CreateDirectory(codeOutputDir);
67+
CSharpFileExporter.GenExtensionMethodInfos(codeOutputDir);
68+
CSharpFileExporter.GenLinkXml(codeOutputDir);
69+
9170
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
71+
AssetDatabase.Refresh();
9272
}
9373

94-
public static void GenerateMinimumWrappersAndBridge()
74+
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate/il2cpp c file", false, 6)]
75+
public static void GenerateCppPlugin()
9576
{
9677
var start = DateTime.Now;
9778
var saveTo = PathHelper.GetIl2cppPluginPath();
98-
9979
Directory.CreateDirectory(saveTo);
100-
FileExporter.GenCPPWrap(saveTo, true, true);
80+
CSharpFileExporter.CopyStaticResources(saveTo);
81+
CSharpFileExporter.GenMacroHeader(saveTo);
10182
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
10283
}
10384

@@ -106,9 +87,8 @@ public static void GenerateExtensionMethodInfos()
10687
{
10788
var start = DateTime.Now;
10889
var saveTo = Puerts.Configure.GetCodeOutputDirectory();
109-
11090
Directory.CreateDirectory(saveTo);
111-
FileExporter.GenExtensionMethodInfos(saveTo);
91+
CSharpFileExporter.GenExtensionMethodInfos(saveTo);
11292
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
11393
AssetDatabase.Refresh();
11494
}
@@ -119,65 +99,10 @@ public static void GenerateLinkXML()
11999
var start = DateTime.Now;
120100
var saveTo = Puerts.Configure.GetCodeOutputDirectory();
121101
Directory.CreateDirectory(saveTo);
122-
FileExporter.GenLinkXml(saveTo);
102+
CSharpFileExporter.GenLinkXml(saveTo);
123103
Debug.Log("finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
124104
AssetDatabase.Refresh();
125105
}
126-
127-
// ============ Pure C# generation (no V8 dependency) ============
128-
129-
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp C# Gen (all in one without wrapper)", false, 12)]
130-
public static void CSharpGenV2WithoutWrapper()
131-
{
132-
var start = DateTime.Now;
133-
var saveTo = Path.Combine(Application.dataPath, "Gen2/Plugins/puerts_il2cpp/");
134-
Directory.CreateDirectory(saveTo);
135-
CSharpFileExporter.GenAll(saveTo, false, true);
136-
137-
var codeOutputDir = Path.Combine(Application.dataPath, "Gen2/");
138-
Directory.CreateDirectory(codeOutputDir);
139-
CSharpFileExporter.GenExtensionMethodInfos(codeOutputDir);
140-
CSharpFileExporter.GenLinkXml(codeOutputDir);
141-
142-
Debug.Log("[C# Gen] finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
143-
AssetDatabase.Refresh();
144-
}
145-
146-
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp C# Gen (all in one with full wrapper)", false, 13)]
147-
public static void CSharpGenV2()
148-
{
149-
var start = DateTime.Now;
150-
var saveTo = Path.Combine(Application.dataPath, "Gen2/Plugins/puerts_il2cpp/");
151-
Directory.CreateDirectory(saveTo);
152-
CSharpFileExporter.GenAll(saveTo, false, false);
153-
154-
var codeOutputDir = Path.Combine(Application.dataPath, "Gen2/");
155-
Directory.CreateDirectory(codeOutputDir);
156-
CSharpFileExporter.GenExtensionMethodInfos(codeOutputDir);
157-
CSharpFileExporter.GenLinkXml(codeOutputDir);
158-
159-
Debug.Log("[C# Gen] finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
160-
AssetDatabase.Refresh();
161-
}
162-
163-
[MenuItem(Puerts.Editor.Generator.UnityMenu.PUERTS_MENU_PREFIX + "/Generate For Il2cpp C# Gen (all in one with minimum bridge and without wrapper)", false, 14)]
164-
public static void CSharpGenMinimumWrappersAndBridge()
165-
{
166-
var start = DateTime.Now;
167-
var saveTo = Path.Combine(Application.dataPath, "Gen2/Plugins/puerts_il2cpp/");
168-
Directory.CreateDirectory(saveTo);
169-
CSharpFileExporter.GenAll(saveTo, true, true);
170-
171-
var codeOutputDir = Path.Combine(Application.dataPath, "Gen2/");
172-
Directory.CreateDirectory(codeOutputDir);
173-
CSharpFileExporter.GenExtensionMethodInfos(codeOutputDir);
174-
CSharpFileExporter.GenLinkXml(codeOutputDir);
175-
176-
Debug.Log("[C# Gen] finished! use " + (DateTime.Now - start).TotalMilliseconds + " ms Outputed to " + saveTo);
177-
AssetDatabase.Refresh();
178-
}
179-
180-
181106
}
182107
}
183108
}

0 commit comments

Comments
 (0)