您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
35 行
928 B
35 行
928 B
using System;
|
|
|
|
namespace Unity.MLAgents
|
|
{
|
|
internal class RecursionChecker : IDisposable
|
|
{
|
|
private bool m_IsRunning;
|
|
private string m_MethodName;
|
|
|
|
public RecursionChecker(string methodName)
|
|
{
|
|
m_MethodName = methodName;
|
|
}
|
|
|
|
public IDisposable Start()
|
|
{
|
|
if (m_IsRunning)
|
|
{
|
|
throw new UnityAgentsException(
|
|
$"{m_MethodName} called recursively. " +
|
|
"This might happen if you call EnvironmentStep() or EndEpisode() from custom " +
|
|
"code such as CollectObservations() or OnActionReceived()."
|
|
);
|
|
}
|
|
m_IsRunning = true;
|
|
return this;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
// Reset the flag when we're done (or if an exception occurred).
|
|
m_IsRunning = false;
|
|
}
|
|
}
|
|
}
|