forked from microsoft/MixedRealityToolkit-Unity
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathObjectElementAdapter.cs
More file actions
144 lines (134 loc) · 5.26 KB
/
Copy pathObjectElementAdapter.cs
File metadata and controls
144 lines (134 loc) · 5.26 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
namespace HoloToolkit.Sharing
{
/// <summary>
/// Allows users of ObjectElements to register to receive event callbacks without
/// having their classes inherit directly from ObjectElementListener
/// </summary>
public class ObjectElementAdapter : ObjectElementListener
{
public event System.Action<long, bool> BoolChangedEvent;
public event System.Action<long, int> IntChangedEvent;
public event System.Action<long, long> LongChangedEvent;
public event System.Action<long, float> FloatChangedEvent;
public event System.Action<long, double> DoubleChangedEvent;
public event System.Action<long, XString> StringChangedEvent;
public event System.Action<Element> ElementAddedEvent;
public event System.Action<Element> ElementDeletedEvent;
/// <summary>
/// Initializes a new instance of <see cref="ObjectElementAdapter"/>.
/// </summary>
public ObjectElementAdapter() { }
/// <summary>
/// Throws the <see cref="IntChangedEvent"/>.
/// </summary>
/// <param name="elementID">The Elements id.</param>
/// <param name="newValue">The new int value.</param>
public override void OnIntElementChanged(long elementID, int newValue)
{
Profile.BeginRange("OnIntElementChanged");
if (this.IntChangedEvent != null)
{
this.IntChangedEvent(elementID, newValue);
}
Profile.EndRange();
}
/// <summary>
/// Throws the <see cref="DoubleChangedEvent"/>.
/// </summary>
/// <param name="elementID">The Elements id.</param>
/// <param name="newValue">The new double value.</param>
public override void OnDoubleElementChanged(long elementID, double newValue)
{
Profile.BeginRange("OnDoubleElementChanged");
if (this.DoubleChangedEvent != null)
{
this.DoubleChangedEvent(elementID, newValue);
}
Profile.EndRange();
}
/// <summary>
/// Throws the <see cref="FloatChangedEvent"/>.
/// </summary>
/// <param name="elementID">The Elements id.</param>
/// <param name="newValue">The new float value.</param>
public override void OnFloatElementChanged(long elementID, float newValue)
{
Profile.BeginRange("OnFloatElementChanged");
if (this.FloatChangedEvent != null)
{
this.FloatChangedEvent(elementID, newValue);
}
Profile.EndRange();
}
/// <summary>
/// Throws the <see cref="LongChangedEvent"/>.
/// </summary>
/// <param name="elementID">The Elements id.</param>
/// <param name="newValue">The new long value.</param>
public override void OnLongElementChanged(long elementID, long newValue)
{
Profile.BeginRange("OnLongElementChanged");
if (this.LongChangedEvent != null)
{
this.LongChangedEvent(elementID, newValue);
}
Profile.EndRange();
}
/// <summary>
/// Throws the <see cref="StringChangedEvent"/>.
/// </summary>
/// <param name="elementID">The Elements id.</param>
/// <param name="newValue">The new string value.</param>
public override void OnStringElementChanged(long elementID, XString newValue)
{
Profile.BeginRange("OnStringElementChanged");
if (this.StringChangedEvent != null)
{
this.StringChangedEvent(elementID, newValue);
}
Profile.EndRange();
}
/// <summary>
/// Throws the <see cref="BoolChangedEvent"/>.
/// </summary>
/// <param name="elementID">The Elements id.</param>
/// <param name="newValue">The new bool value</param>
public override void OnBoolElementChanged(long elementID, bool newValue)
{
Profile.BeginRange("OnBoolElementChanged");
if (this.BoolChangedEvent != null)
{
this.BoolChangedEvent(elementID, newValue);
}
Profile.EndRange();
}
/// <summary>
/// Throws the <see cref="ElementAddedEvent"/>.
/// </summary>
/// <param name="element">The new Element.</param>
public override void OnElementAdded(Element element)
{
Profile.BeginRange("OnElementAdded");
if (this.ElementAddedEvent != null)
{
this.ElementAddedEvent(element);
}
Profile.EndRange();
}
/// <summary>
/// Throws the <see cref="ElementDeletedEvent"/>.
/// </summary>
/// <param name="element">The deleted Element.</param>
public override void OnElementDeleted(Element element)
{
Profile.BeginRange("OnElementDeleted");
if (this.ElementDeletedEvent != null)
{
this.ElementDeletedEvent(element);
}
Profile.EndRange();
}
}
}