Class Recorder
Used for building recordings and keeping up with all the child recorders.
Inheritance
Inherited Members
Namespace: Recolude.Core.Record
Assembly: Recolude.Core.dll
Syntax
public class Recorder
Remarks
Metadata set will persist accross multiple recordings unless cleared with ClearMetadata().
Constructors
Recorder()
Declaration
public Recorder()
Recorder(ITimerManager, RecorderInfo, List<Recorder>, IEnumerable<ICaptureRecorder<ICapture>>)
Declaration
public Recorder(ITimerManager timeManager, RecorderInfo recorderInfo, List<Recorder> subRecorders, IEnumerable<ICaptureRecorder<ICapture>> captureRecorders)
Parameters
| Type | Name | Description |
|---|---|---|
| ITimerManager | timeManager | |
| RecorderInfo | recorderInfo | |
| System.Collections.Generic.List<Recorder> | subRecorders | |
| System.Collections.Generic.IEnumerable<ICaptureRecorder<ICapture>> | captureRecorders |
Recorder(String, String, Metadata)
Declaration
public Recorder(string id, string name, Metadata metadata)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | id | |
| System.String | name | |
| Metadata | metadata |
Methods
AddOnRecordingCompleteCallback(UnityAction<IRecording>)
Registers a callback to be invoked whenever the Finish() method is called.
Declaration
public void AddOnRecordingCompleteCallback(UnityAction<IRecording> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Events.UnityAction<IRecording> | callback | The callback to be executed |
Build(Single, Single, IEnumerable<Vector2>)
Declaration
public IRecording Build(float startTime, float endTime, IEnumerable<Vector2> pauseSlices)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Single | startTime | |
| System.Single | endTime | |
| System.Collections.Generic.IEnumerable<UnityEngine.Vector2> | pauseSlices |
Returns
| Type | Description |
|---|---|
| IRecording |
CaptureCustomEvent(String, Metadata)
If you want to keep up with something special that occurred at a certain time in your recording, then you can call this function with the details of the special event.
Declaration
public void CaptureCustomEvent(string name, Metadata contents)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Name of the event. |
| Metadata | contents | Details of the event. |
Remarks
Will be ignored if the recorder is currently paused.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is stopped. |
CaptureCustomEvent(String, Dictionary<String, IProperty>)
If you want to keep up with something special that occurred at a certain time in your recording, then you can call this function with the details of the special event.
Declaration
public void CaptureCustomEvent(string name, Dictionary<string, IProperty> contents)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Name of the event. |
| System.Collections.Generic.Dictionary<System.String, IProperty> | contents | Details of the event. |
Remarks
Will be ignored if the recorder is currently paused.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is stopped. |
CaptureCustomEvent(String, Dictionary<String, String>)
If you want to keep up with something special that occurred at a certain time in your recording, then you can call this function with the details of the special event.
Declaration
public void CaptureCustomEvent(string name, Dictionary<string, string> contents)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Name of the event. |
| System.Collections.Generic.Dictionary<System.String, System.String> | contents | Details of the event. |
Remarks
Will be ignored if the recorder is currently paused.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is stopped. |
CaptureCustomEvent(String, String)
If you want to keep up with something special that occurred at a certain time in your recording, then you can call this function with the details of the special event.
Declaration
public void CaptureCustomEvent(string name, string contents)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | name | Name of the event. |
| System.String | contents | Details of the event. |
Remarks
Will be ignored if the recorder is currently paused.
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is stopped. |
ClearMetadata()
Clears all meta data that has been set up to this point.
Declaration
public void ClearMetadata()
ClearOnRecordingCompleteListeners()
Removes all callbacks from being called when Finish() is invoked
Declaration
public void ClearOnRecordingCompleteListeners()
ClearSubjects()
Removes all registered subjects that where going to be recorded, removing any chance that their data will make it to the final recording.
Declaration
public void ClearSubjects()
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when a recording is already in progress. |
CurrentlyPaused()
Whether or not the recorder is paused. When the recorder is paused, custom events logged will be ignored.
Declaration
public bool CurrentlyPaused()
Returns
| Type | Description |
|---|---|
| System.Boolean | True if the recorder is paused. |
CurrentlyRecording()
Whether or not we are accepting events occuring.
Declaration
public bool CurrentlyRecording()
Returns
| Type | Description |
|---|---|
| System.Boolean | True if we are accepting events. |
CurrentlyStopped()
Whether or not the recorder has begun recording.
Declaration
public bool CurrentlyStopped()
Returns
| Type | Description |
|---|---|
| System.Boolean | True if it has not started recording. |
CurrentRecording()
Takes everything the recorder has seen so far and builds a recording from it, without stopping the recording process.
Declaration
public IRecording CurrentRecording()
Returns
| Type | Description |
|---|---|
| IRecording | A recording representing everything we've seen up until this point in time. |
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is stopped. |
CurrentState()
The current state the recorder is in.
Declaration
public RecordingState CurrentState()
Returns
| Type | Description |
|---|---|
| RecordingState | The current recorder state. |
Finish()
Stops the recorder and builds a recording for playback. Once a recorder is finished it is free to start making a whole new recording.
Declaration
public Recording Finish()
Returns
| Type | Description |
|---|---|
| Recording | A recording containing everything the recorder captured while not paused. |
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is stopped. |
GetMetaData(String)
Declaration
public IProperty GetMetaData(string key)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key |
Returns
| Type | Description |
|---|---|
| IProperty |
GetTimeProvider()
Declaration
public ITimeProvider GetTimeProvider()
Returns
| Type | Description |
|---|---|
| ITimeProvider |
Pause()
Moves the recorder state to be paused. Custom events that occur during this state are ignored.
Declaration
public void Pause()
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is not recording. |
Register(Recorder[])
Adds child recorders for this recorder to include when building recordings.
Declaration
public void Register(params Recorder[] childRecorders)
Parameters
| Type | Name | Description |
|---|---|---|
| Recorder[] | childRecorders | The children recorders to keep up with. |
Register(RecorderInfo, IEnumerable<ICaptureRecorder<ICapture>>)
Declaration
public Recorder Register(RecorderInfo info, IEnumerable<ICaptureRecorder<ICapture>> captureRecorders)
Parameters
| Type | Name | Description |
|---|---|---|
| RecorderInfo | info | |
| System.Collections.Generic.IEnumerable<ICaptureRecorder<ICapture>> | captureRecorders |
Returns
| Type | Description |
|---|---|
| Recorder |
Register(SubjectConfigBehavior)
Declaration
public Recorder Register(SubjectConfigBehavior subject)
Parameters
| Type | Name | Description |
|---|---|---|
| SubjectConfigBehavior | subject |
Returns
| Type | Description |
|---|---|
| Recorder |
Register(String, String)
Declaration
public Recorder Register(string id, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | id | |
| System.String | name |
Returns
| Type | Description |
|---|---|
| Recorder |
Register(GameObject)
Declaration
public Recorder Register(GameObject subject)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.GameObject | subject |
Returns
| Type | Description |
|---|---|
| Recorder |
Register(GameObject, String)
Declaration
public Recorder Register(GameObject subject, string name)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.GameObject | subject | |
| System.String | name |
Returns
| Type | Description |
|---|---|
| Recorder |
Register(GameObject, String, String, Metadata)
Declaration
public Recorder Register(GameObject subject, string id, string name, Metadata metadata)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.GameObject | subject | |
| System.String | id | |
| System.String | name | |
| Metadata | metadata |
Returns
| Type | Description |
|---|---|
| Recorder |
RemoveOnRecordingCompleteCallback(UnityAction<IRecording>)
Removes a previously registered callback from being invoked when the Finish() method is called.
Declaration
public void RemoveOnRecordingCompleteCallback(UnityAction<IRecording> callback)
Parameters
| Type | Name | Description |
|---|---|---|
| UnityEngine.Events.UnityAction<IRecording> | callback | The callback to be removed |
Resume()
Returns a recorder to a recording state if it was paused.
Declaration
public void Resume()
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when the recorder is not paused. |
SetMetaData(String, IProperty)
Set a key value pair for meta data.
Declaration
public void SetMetaData(string key, IProperty value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key | Dictionary Key. |
| IProperty | value | Value. |
SetMetaData(String, Int32)
Declaration
public void SetMetaData(string key, int value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key | |
| System.Int32 | value |
SetMetaData(String, String)
Declaration
public void SetMetaData(string key, string value)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | key | |
| System.String | value |
Start()
Starts recording the subjects.
Declaration
public void Start()
Exceptions
| Type | Condition |
|---|---|
| System.InvalidOperationException | Thrown when a recording is already in progress. |
SubRecorders()
The different subjects to include in our recording.
Declaration
public List<Recorder> SubRecorders()
Returns
| Type | Description |
|---|---|
| System.Collections.Generic.List<Recorder> | The different subjects to include in our recording. |