using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sandbox.ModAPI.Ingame
{
///
/// Provides runtime info for a running grid program.
///
public interface IMyGridProgramRuntimeInfo
{
///
/// Gets the time elapsed since the last time the Main method of this program was run. This property returns no
/// valid data neither in the constructor nor the Save method.
///
TimeSpan TimeSinceLastRun { get; }
///
/// Gets the number of milliseconds it took to execute the Main method the last time it was run. This property returns no valid
/// data neither in the constructor nor the Save method.
///
double LastRunTimeMs { get; }
///
/// Gets the maximum number of significant instructions that can be executing during a single run, including
/// any other programmable blocks invoked immediately.
///
int MaxInstructionCount { get; }
///
/// Gets the current number of significant instructions executed.
///
int CurrentInstructionCount { get; }
///
/// Gets the maximum number of method calls that can be executed during a single run, including
/// any other programmable blocks invoked immediately.
///
int MaxMethodCallCount { get; }
///
/// Gets the current number of method calls.
///
int CurrentMethodCallCount { get; }
}
}