您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

51 行
1.7 KiB

using System;
namespace UnityEngine.Experimental.Perception.Randomization.Scenarios
{
/// <summary>
/// A scenario that runs for a fixed number of frames during each iteration
/// </summary>
[AddComponentMenu("Perception/Randomization/Scenarios/Fixed Length Scenario")]
public class FixedLengthScenario: Scenario<FixedLengthScenario.Constants>
{
/// <summary>
/// Constants describing the execution of this scenario
/// </summary>
[Serializable]
public class Constants
{
/// <summary>
/// The number of frames to generate per iteration
/// </summary>
public int framesPerIteration = 1;
/// <summary>
/// The iteration index begin the simulation on
/// </summary>
public int startingIteration;
/// <summary>
/// The total number of iterations to complete before the simulation terminates
/// </summary>
public int totalIterations = 1000;
}
/// <summary>
/// Returns whether the current scenario iteration has completed
/// </summary>
public override bool isIterationComplete => currentIterationFrame >= constants.framesPerIteration;
/// <summary>
/// Returns whether the scenario has completed
/// </summary>
public override bool isScenarioComplete => currentIteration >= constants.totalIterations;
/// <summary>
/// Fast forwards the current scenario iteration to the starting iteration indicated in this scenario's constants
/// </summary>
protected override void OnAwake()
{
currentIteration = constants.startingIteration;
}
}
}