1.完成控制流label/goto的使用2.升级Parse解析器3.Judgement的还原依然存在问题
This commit is contained in:
@@ -4,6 +4,7 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using Convention;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Demo.Editor
|
||||
{
|
||||
@@ -18,9 +19,12 @@ namespace Demo.Editor
|
||||
private static void WriteCPPClassBase(StreamWriter stream, Type currentType)
|
||||
{
|
||||
if (currentType == typeof(ScriptableObject))
|
||||
{
|
||||
|
||||
foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
|
||||
{
|
||||
// <20><><EFBFBD>ƹ<EFBFBD><C6B9>ߺ<EFBFBD>
|
||||
stream.WriteLine("#define __build_in_pragma #");
|
||||
stream.WriteLine("#define __build_in_to_text(x) #x");
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ඨ<EFBFBD><E0B6A8><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6>
|
||||
foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
|
||||
{
|
||||
foreach (var type in asm.GetTypes())
|
||||
{
|
||||
@@ -36,11 +40,31 @@ namespace Demo.Editor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stream.Write(@"/*
|
||||
// <20><><EFBFBD><EFBFBD>Mathf
|
||||
foreach (var method in typeof(Mathf).GetMethods())
|
||||
{
|
||||
stream.WriteLine($"#define {method.Name}({string.Join(',', from param in method.GetParameters() select param.Name)})");
|
||||
}
|
||||
// <20><><EFBFBD><EFBFBD>label<65><6C>goto
|
||||
stream.Write(@"
|
||||
/*
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ
|
||||
*/
|
||||
");
|
||||
stream.Write($"#define label(label_name) __build_in_pragma define label_name\n\n");
|
||||
stream.Write(@"
|
||||
/*
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>a>bʱ<62><CAB1>ת<EFBFBD><D7AA>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>label<65><6C>
|
||||
*/
|
||||
");
|
||||
stream.Write($"#define goto(a,b,label_name)\n\n");
|
||||
// <20><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD>
|
||||
stream.Write(@"
|
||||
/*
|
||||
<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ
|
||||
e.g: LoadSubScript(SplineCore, ""SplineCore.h"") with(r = 1, g = 1, b = 1);
|
||||
*/");
|
||||
*/
|
||||
");
|
||||
stream.Write($"#define with(...)\n\n");
|
||||
return;
|
||||
}
|
||||
@@ -56,9 +80,6 @@ e.g: LoadSubScript(SplineCore, ""SplineCore.h"") with(r = 1, g = 1, b = 1);
|
||||
{
|
||||
if (name == nameof(ScriptableObject.LoadSubScript))
|
||||
{
|
||||
stream.WriteLine("#define __build_in_pragma #");
|
||||
stream.WriteLine("#define __build_in_to_text(x) #x");
|
||||
|
||||
stream.Write("/*\n" + description + "\n*/\n");
|
||||
stream.Write($"#define {name}({string.Join(',', paramList)}) __build_in_pragma include {paramList.ToArray()[1]}\n\n");
|
||||
//stream.Write($"#define {name}({string.Join(',', paramList)})\n\n");
|
||||
|
||||
Reference in New Issue
Block a user