已确认问题存在于this.Apply的非法操作, 该语句不可运行
This commit is contained in:
@@ -468,7 +468,7 @@ namespace Demo
|
|||||||
|
|
||||||
public class ConsoleTool
|
public class ConsoleTool
|
||||||
{
|
{
|
||||||
GameObject gameObject;
|
private GameObject gameObject;
|
||||||
public ConsoleTool(GameObject gameObject)
|
public ConsoleTool(GameObject gameObject)
|
||||||
{
|
{
|
||||||
this.gameObject = gameObject;
|
this.gameObject = gameObject;
|
||||||
@@ -476,13 +476,15 @@ namespace Demo
|
|||||||
|
|
||||||
public void Log(object obj)
|
public void Log(object obj)
|
||||||
{
|
{
|
||||||
Debug.Log(obj);
|
Debug.Log(obj, gameObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public IEnumerator ParseScript2Expr(string script)
|
public IEnumerator ParseScript2Expr(string script)
|
||||||
{
|
{
|
||||||
IsParseScript2Expr = true;
|
IsParseScript2Expr = true;
|
||||||
|
try
|
||||||
|
{
|
||||||
RScriptEngine engine = new();
|
RScriptEngine engine = new();
|
||||||
RScriptImportClass importClass = new()
|
RScriptImportClass importClass = new()
|
||||||
{
|
{
|
||||||
@@ -505,11 +507,14 @@ namespace Demo
|
|||||||
|
|
||||||
foreach (var ir in engine.RunAsync(script, importClass, variables).Yield())
|
foreach (var ir in engine.RunAsync(script, importClass, variables).Yield())
|
||||||
{
|
{
|
||||||
// using var _curr_sen = Profiler.BeginZone(engine.context.CurrentSentence.content);
|
|
||||||
yield return ir;
|
yield return ir;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
IsParseScript2Expr = false;
|
IsParseScript2Expr = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public enum TickType
|
public enum TickType
|
||||||
{
|
{
|
||||||
@@ -576,12 +581,24 @@ namespace Demo
|
|||||||
{
|
{
|
||||||
protected virtual IEnumerator DoSomethingDuringApplyScript()
|
protected virtual IEnumerator DoSomethingDuringApplyScript()
|
||||||
{
|
{
|
||||||
yield break;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Content]
|
[Content]
|
||||||
public bool IsScriptApply { get; private set; } = false;
|
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]
|
[Convention.RScript.Variable.Attr.Method]
|
||||||
public IEnumerator ApplyScript()
|
public IEnumerator ApplyScript()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user