已确认问题存在于this.Apply的非法操作, 该语句不可运行

This commit is contained in:
2025-11-30 23:12:39 +08:00
parent 430209c948
commit e06f01e0f1

View File

@@ -468,7 +468,7 @@ namespace Demo
public class ConsoleTool
{
GameObject gameObject;
private GameObject gameObject;
public ConsoleTool(GameObject gameObject)
{
this.gameObject = gameObject;
@@ -476,13 +476,15 @@ namespace Demo
public void Log(object obj)
{
Debug.Log(obj);
Debug.Log(obj, gameObject);
}
}
public IEnumerator ParseScript2Expr(string script)
{
IsParseScript2Expr = true;
try
{
RScriptEngine engine = new();
RScriptImportClass importClass = new()
{
@@ -505,11 +507,14 @@ namespace Demo
foreach (var ir in engine.RunAsync(script, importClass, variables).Yield())
{
// using var _curr_sen = Profiler.BeginZone(engine.context.CurrentSentence.content);
yield return ir;
}
}
finally
{
IsParseScript2Expr = false;
}
}
public enum TickType
{
@@ -576,12 +581,24 @@ namespace Demo
{
protected virtual IEnumerator DoSomethingDuringApplyScript()
{
yield break;
return null;
}
[Content]
public bool IsScriptApply { get; private set; } = false;
/// <summary>
/// 确认脚本已经完全执行完成, 允许其进入工作阶段
/// <b>注意不要使用this.ApplyScript</b>, 将会导致
/// <code>
/// while (this.IsParseScript2Expr)
/// {
/// yield return null;
/// }
/// </code>
/// 永远等待
/// </summary>
/// <returns></returns>
[Convention.RScript.Variable.Attr.Method]
public IEnumerator ApplyScript()
{