ProfilerSample.cs
1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/******************************************************************************
* Copyright (C) Leap Motion, Inc. 2011-2017. *
* Leap Motion proprietary and confidential. *
* *
* Use subject to the terms of the Leap Motion SDK Agreement available at *
* https://developer.leapmotion.com/sdk_agreement, or another agreement *
* between Leap Motion and you, your company or other organization. *
******************************************************************************/
using System;
using UnityEngine.Profiling;
namespace Leap.Unity {
/// <summary>
/// A utility struct for ease of use when you want to wrap
/// a piece of code in a Profiler.BeginSample/EndSample.
/// Usage:
///
/// using(new ProfilerSample("Sample Name")) {
/// code you want to profile
/// }
/// </summary>
public struct ProfilerSample : IDisposable {
public ProfilerSample(string sampleName) {
Profiler.BeginSample(sampleName);
}
public ProfilerSample(string sampleName, UnityEngine.Object obj) {
Profiler.BeginSample(sampleName, obj);
}
public void Dispose() {
Profiler.EndSample();
}
}
}