Skip to content

Commit 08dc79a

Browse files
update
Fixing some access permissions and sorting through what we are ready to release as a public API.
1 parent ee37977 commit 08dc79a

File tree

6 files changed

+75
-58
lines changed

6 files changed

+75
-58
lines changed

com.unity.netcode.gameobjects/Editor/NetcodeEditorBase.cs

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@ namespace Unity.Netcode.Editor
1818
public partial class NetcodeEditorBase<TT> : UnityEditor.Editor where TT : MonoBehaviour
1919
{
2020
private const int k_IndentOffset = 15;
21-
protected int IndentOffset { get; private set; } = 0;
22-
protected int IndentLevel { get; private set; } = 0;
21+
private int m_IndentOffset = 0;
22+
private int m_IndentLevel = 0;
23+
private float m_OriginalLabelWidth;
2324

2425
/// <inheritdoc cref="UnityEditor.Editor.OnEnable"/>
2526
public virtual void OnEnable()
@@ -31,29 +32,14 @@ public virtual void OnEnable()
3132
/// </summary>
3233
/// <param name="property">The serialized property (<see cref="SerializedProperty"/>) to draw within the inspector view.</param>
3334
/// <param name="fontStyle">The font style (<see cref="FontStyle"/>) to use when drawing the label of the property field.</param>
34-
protected void DrawPropertyField(SerializedProperty property, FontStyle fontStyle = FontStyle.Normal)
35+
private protected void DrawPropertyField(SerializedProperty property, FontStyle fontStyle = FontStyle.Normal)
3536
{
37+
var originalWidth = EditorGUIUtility.labelWidth;
38+
EditorGUIUtility.labelWidth = originalWidth - (m_IndentOffset * m_IndentLevel);
3639
var originalLabelFontStyle = EditorStyles.label.fontStyle;
3740
EditorStyles.label.fontStyle = fontStyle;
3841
EditorGUILayout.PropertyField(property);
3942
EditorStyles.label.fontStyle = originalLabelFontStyle;
40-
}
41-
42-
/// <summary>
43-
/// Draws an indented <see cref="SerializedProperty"/> with the option to provide the font style to use.
44-
/// </summary>
45-
/// <remarks>
46-
/// For additional information:<br />
47-
/// - <see cref="BeginIndent"/><br />
48-
/// - <see cref="EndIndent"/><br />
49-
/// </remarks>
50-
/// <param name="property">The serialized property (<see cref="SerializedProperty"/>) to draw within the inspector view.</param>
51-
/// <param name="fontStyle">The font style (<see cref="FontStyle"/>) to use when drawing the label of the property field.</param>
52-
protected void DrawIndentedPropertyField(SerializedProperty property, FontStyle fontStyle = FontStyle.Normal)
53-
{
54-
var originalWidth = EditorGUIUtility.labelWidth;
55-
EditorGUIUtility.labelWidth = originalWidth - (IndentOffset * IndentLevel);
56-
DrawPropertyField(property, fontStyle);
5743
EditorGUIUtility.labelWidth = originalWidth;
5844
}
5945

@@ -64,15 +50,15 @@ protected void DrawIndentedPropertyField(SerializedProperty property, FontStyle
6450
/// You *must* call <see cref="EndIndent"/> when returning back to the previous indention level.<br />
6551
/// For additional information:<br />
6652
/// - <see cref="EndIndent"/><br />
67-
/// - <see cref="DrawIndentedPropertyField"/><br />
53+
/// - <see cref="DrawPropertyField"/><br />
6854
/// </remarks>
6955
/// <param name="offset">(optional) The size in pixels of the offset. If no value passed, then it uses a default of 15 pixels.</param>
70-
protected void BeginIndent(int offset = k_IndentOffset)
56+
private protected void BeginIndent(int offset = k_IndentOffset)
7157
{
72-
IndentOffset = offset;
73-
IndentLevel++;
58+
m_IndentOffset = offset;
59+
m_IndentLevel++;
7460
GUILayout.BeginHorizontal();
75-
GUILayout.Space(IndentOffset);
61+
GUILayout.Space(m_IndentOffset);
7662
GUILayout.BeginVertical();
7763
}
7864

@@ -82,16 +68,16 @@ protected void BeginIndent(int offset = k_IndentOffset)
8268
/// <remarks>
8369
/// For additional information:<br />
8470
/// - <see cref="BeginIndent"/><br />
85-
/// - <see cref="DrawIndentedPropertyField"/><br />
71+
/// - <see cref="DrawPropertyField"/><br />
8672
/// </remarks>
87-
protected void EndIndent()
73+
private protected void EndIndent()
8874
{
89-
if (IndentLevel == 0)
75+
if (m_IndentLevel == 0)
9076
{
9177
Debug.LogWarning($"Invoking {nameof(EndIndent)} when the indent level is already 0!");
9278
return;
9379
}
94-
IndentLevel--;
80+
m_IndentLevel--;
9581
GUILayout.EndVertical();
9682
GUILayout.EndHorizontal();
9783
}
@@ -113,9 +99,11 @@ protected void DrawFoldOutGroup<T>(Type type, Action displayProperties, bool exp
11399
EditorGUI.BeginChangeCheck();
114100
serializedObject.Update();
115101
var currentClass = typeof(T);
102+
116103
if (type.IsSubclassOf(currentClass) || (!type.IsSubclassOf(currentClass) && currentClass.IsSubclassOf(typeof(TT))))
117104
{
118105
var expandedValue = EditorGUILayout.BeginFoldoutHeaderGroup(expanded, $"{currentClass.Name} Properties");
106+
119107
if (expandedValue)
120108
{
121109
EditorGUILayout.EndFoldoutHeaderGroup();

com.unity.netcode.gameobjects/Editor/NetworkTransformEditor.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -197,35 +197,35 @@ private void DisplayNetworkTransformProperties()
197197
BeginIndent();
198198
if (networkTransform.SynchronizePosition)
199199
{
200-
DrawIndentedPropertyField(m_PositionInterpolationTypeProperty);
200+
DrawPropertyField(m_PositionInterpolationTypeProperty);
201201
// Only display when using Lerp.
202202
if (networkTransform.PositionInterpolationType == NetworkTransform.InterpolationTypes.Lerp)
203203
{
204204
BeginIndent();
205-
DrawIndentedPropertyField(m_SlerpPosition);
206-
DrawIndentedPropertyField(m_PositionMaximumInterpolationTimeProperty);
205+
DrawPropertyField(m_SlerpPosition);
206+
DrawPropertyField(m_PositionMaximumInterpolationTimeProperty);
207207
EndIndent();
208208
}
209209
}
210210
if (networkTransform.SynchronizeRotation)
211211
{
212-
DrawIndentedPropertyField(m_RotationInterpolationTypeProperty);
212+
DrawPropertyField(m_RotationInterpolationTypeProperty);
213213
// Only display when using Lerp.
214214
if (networkTransform.RotationInterpolationType == NetworkTransform.InterpolationTypes.Lerp)
215215
{
216216
BeginIndent();
217-
DrawIndentedPropertyField(m_RotationMaximumInterpolationTimeProperty);
217+
DrawPropertyField(m_RotationMaximumInterpolationTimeProperty);
218218
EndIndent();
219219
}
220220
}
221221
if (networkTransform.SynchronizeScale)
222222
{
223-
DrawIndentedPropertyField(m_ScaleInterpolationTypeProperty);
223+
DrawPropertyField(m_ScaleInterpolationTypeProperty);
224224
// Only display when using Lerp.
225225
if (networkTransform.ScaleInterpolationType == NetworkTransform.InterpolationTypes.Lerp)
226226
{
227227
BeginIndent();
228-
DrawIndentedPropertyField(m_ScaleMaximumInterpolationTimeProperty);
228+
DrawPropertyField(m_ScaleMaximumInterpolationTimeProperty);
229229
EndIndent();
230230
}
231231
}

com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolator.cs

Lines changed: 45 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public void Reset(T currentValue)
156156
private int m_NbItemsReceivedThisFrame;
157157

158158
private double m_LastMeasurementAddedTime = 0.0f;
159-
internal bool EndOfBuffer => m_Buffer.Count == 0;
159+
internal bool EndOfBuffer => m_BufferQueue.Count == 0;
160160

161161
internal bool InLocalSpace;
162162

@@ -168,7 +168,37 @@ public void Reset(T currentValue)
168168
/// <summary>
169169
/// The current buffered items received by the authority.
170170
/// </summary>
171-
protected internal readonly Queue<BufferedItem> m_Buffer = new Queue<BufferedItem>(k_BufferCountLimit);
171+
protected internal readonly Queue<BufferedItem> m_BufferQueue = new Queue<BufferedItem>(k_BufferCountLimit);
172+
173+
/// <summary>
174+
/// The legacy list of <see cref="BufferedItem"/> items.
175+
/// </summary>
176+
/// <remarks>
177+
/// This is replaced by the <see cref="m_BufferQueue"/> of type <see cref="Queue{T}"/>.
178+
/// </remarks>
179+
[Obsolete("This list is no longer used and will be deprecated.", false)]
180+
protected internal readonly List<BufferedItem> m_Buffer = new List<BufferedItem>();
181+
182+
/// <summary>
183+
/// ** Deprecating **
184+
/// The starting value of type <see cref="T"/> to interpolate from.
185+
/// </summary>
186+
[Obsolete("This property will be deprecated.", false)]
187+
protected internal T m_InterpStartValue;
188+
189+
/// <summary>
190+
/// ** Deprecating **
191+
/// The current value of type <see cref="T"/>.
192+
/// </summary>
193+
[Obsolete("This property will be deprecated.", false)]
194+
protected internal T m_CurrentInterpValue;
195+
196+
/// <summary>
197+
/// ** Deprecating **
198+
/// The end (or target) value of type <see cref="T"/> to interpolate towards.
199+
/// </summary>
200+
[Obsolete("This property will be deprecated.", false)]
201+
protected internal T m_InterpEndValue;
172202

173203
/// <summary>
174204
/// Represents the rate of change for the value being interpolated when smooth dampening is enabled.
@@ -192,7 +222,7 @@ public void Reset(T currentValue)
192222
/// </summary>
193223
public void Clear()
194224
{
195-
m_Buffer.Clear();
225+
m_BufferQueue.Clear();
196226
m_BufferCount = 0;
197227
m_LastMeasurementAddedTime = 0.0;
198228
InterpolateState.Reset(default);
@@ -244,7 +274,7 @@ private void TryConsumeFromBuffer(double renderTime, float minDeltaTime, float m
244274
BufferedItem? previousItem = null;
245275
var startTime = 0.0;
246276
var alreadyHasBufferItem = false;
247-
while (m_Buffer.TryPeek(out BufferedItem potentialItem))
277+
while (m_BufferQueue.TryPeek(out BufferedItem potentialItem))
248278
{
249279
// If we are still on the same buffered item (FIFO Queue), then exit early as there is nothing
250280
// to consume.
@@ -261,7 +291,7 @@ private void TryConsumeFromBuffer(double renderTime, float minDeltaTime, float m
261291
if (!InterpolateState.Target.HasValue ||
262292
((potentialItem.TimeSent <= renderTime) && InterpolateState.Target.Value.TimeSent <= potentialItem.TimeSent))
263293
{
264-
if (m_Buffer.TryDequeue(out BufferedItem target))
294+
if (m_BufferQueue.TryDequeue(out BufferedItem target))
265295
{
266296
if (!InterpolateState.Target.HasValue)
267297
{
@@ -316,7 +346,7 @@ private void TryConsumeFromBuffer(double renderTime, float minDeltaTime, float m
316346
/// <param name="minDeltaTime">The minimum time delta between the current and target value.</param>
317347
/// <param name="maxDeltaTime">The maximum time delta between the current and target value.</param>
318348
/// <returns>The newly interpolated value of type 'T'</returns>
319-
public T Update(float deltaTime, double tickLatencyAsTime, float minDeltaTime, float maxDeltaTime)
349+
internal T Update(float deltaTime, double tickLatencyAsTime, float minDeltaTime, float maxDeltaTime)
320350
{
321351
TryConsumeFromBuffer(tickLatencyAsTime, minDeltaTime, maxDeltaTime);
322352
// Only interpolate when there is a start and end point and we have not already reached the end value
@@ -353,7 +383,7 @@ private void TryConsumeFromBuffer(double renderTime, double serverTime)
353383
{
354384
BufferedItem? previousItem = null;
355385
var alreadyHasBufferItem = false;
356-
while (m_Buffer.TryPeek(out BufferedItem potentialItem))
386+
while (m_BufferQueue.TryPeek(out BufferedItem potentialItem))
357387
{
358388
// If we are still on the same buffered item (FIFO Queue), then exit early as there is nothing
359389
// to consume.
@@ -365,12 +395,11 @@ private void TryConsumeFromBuffer(double renderTime, double serverTime)
365395
if ((potentialItem.TimeSent <= serverTime) &&
366396
(!InterpolateState.Target.HasValue || InterpolateState.Target.Value.TimeSent < potentialItem.TimeSent))
367397
{
368-
if (m_Buffer.TryDequeue(out BufferedItem target))
398+
if (m_BufferQueue.TryDequeue(out BufferedItem target))
369399
{
370400
if (!InterpolateState.Target.HasValue)
371401
{
372402
InterpolateState.Target = target;
373-
374403
alreadyHasBufferItem = true;
375404
InterpolateState.PreviousValue = InterpolateState.CurrentValue;
376405
InterpolateState.StartTime = target.TimeSent;
@@ -494,7 +523,7 @@ public void AddMeasurement(T newMeasurement, double sentTime)
494523
m_LastMeasurementAddedTime = sentTime;
495524
m_LastBufferedItemReceived = new BufferedItem(newMeasurement, sentTime, m_BufferCount);
496525
// Next line keeps renderTime above m_StartTimeConsumed. Fixes pause/unpause issues
497-
m_Buffer.Enqueue(m_LastBufferedItemReceived);
526+
m_BufferQueue.Enqueue(m_LastBufferedItemReceived);
498527
}
499528
return;
500529
}
@@ -504,7 +533,7 @@ public void AddMeasurement(T newMeasurement, double sentTime)
504533
{
505534
m_BufferCount++;
506535
m_LastBufferedItemReceived = new BufferedItem(newMeasurement, sentTime, m_BufferCount);
507-
m_Buffer.Enqueue(m_LastBufferedItemReceived);
536+
m_BufferQueue.Enqueue(m_LastBufferedItemReceived);
508537
m_LastMeasurementAddedTime = sentTime;
509538
}
510539
}
@@ -547,7 +576,7 @@ public T GetInterpolatedValue()
547576
/// <param name="deltaTime">The increasing delta time from when start to finish.</param>
548577
/// <param name="maxSpeed">Maximum rate of change per pass.</param>
549578
/// <returns>The smoothed <see cref="T"/> value.</returns>
550-
protected internal virtual T SmoothDamp(T current, T target, ref T rateOfChange, float duration, float deltaTime, float maxSpeed = Mathf.Infinity)
579+
private protected virtual T SmoothDamp(T current, T target, ref T rateOfChange, float duration, float deltaTime, float maxSpeed = Mathf.Infinity)
551580
{
552581
return target;
553582
}
@@ -559,7 +588,7 @@ protected internal virtual T SmoothDamp(T current, T target, ref T rateOfChange,
559588
/// <param name="second">Second value of type <see cref="T"/>.</param>
560589
/// <param name="precision">The precision of the aproximation.</param>
561590
/// <returns>true if the two values are aproximately the same and false if they are not</returns>
562-
protected internal virtual bool IsAproximately(T first, T second, float precision = k_AproximatePrecision)
591+
private protected virtual bool IsAproximately(T first, T second, float precision = k_AproximatePrecision)
563592
{
564593
return false;
565594
}
@@ -578,12 +607,12 @@ protected internal virtual T OnConvertTransformSpace(Transform transform, T item
578607

579608
internal void ConvertTransformSpace(Transform transform, bool inLocalSpace)
580609
{
581-
var count = m_Buffer.Count;
610+
var count = m_BufferQueue.Count;
582611
for (int i = 0; i < count; i++)
583612
{
584-
var entry = m_Buffer.Dequeue();
613+
var entry = m_BufferQueue.Dequeue();
585614
entry.Item = OnConvertTransformSpace(transform, entry.Item, inLocalSpace);
586-
m_Buffer.Enqueue(entry);
615+
m_BufferQueue.Enqueue(entry);
587616
}
588617
InterpolateState.CurrentValue = OnConvertTransformSpace(transform, InterpolateState.CurrentValue, inLocalSpace);
589618
var end = InterpolateState.Target.Value;

com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolatorFloat.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ protected override float Interpolate(float start, float end, float time)
2121
}
2222

2323
/// <inheritdoc />
24-
protected internal override bool IsAproximately(float first, float second, float precision = 1E-07F)
24+
private protected override bool IsAproximately(float first, float second, float precision = 1E-07F)
2525
{
2626
return Mathf.Approximately(first, second);
2727
}
2828

2929
/// <inheritdoc />
30-
protected internal override float SmoothDamp(float current, float target, ref float rateOfChange, float duration, float deltaTime, float maxSpeed = float.PositiveInfinity)
30+
private protected override float SmoothDamp(float current, float target, ref float rateOfChange, float duration, float deltaTime, float maxSpeed = float.PositiveInfinity)
3131
{
3232
if (IsAngularValue)
3333
{

com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolatorQuaternion.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ protected override Quaternion Interpolate(Quaternion start, Quaternion end, floa
4747
}
4848

4949
/// <inheritdoc />
50-
protected internal override Quaternion SmoothDamp(Quaternion current, Quaternion target, ref Quaternion rateOfChange, float duration, float deltaTime, float maxSpeed = float.PositiveInfinity)
50+
private protected override Quaternion SmoothDamp(Quaternion current, Quaternion target, ref Quaternion rateOfChange, float duration, float deltaTime, float maxSpeed = float.PositiveInfinity)
5151
{
5252
Vector3 currentEuler = current.eulerAngles;
5353
Vector3 targetEuler = target.eulerAngles;
@@ -61,7 +61,7 @@ protected internal override Quaternion SmoothDamp(Quaternion current, Quaternion
6161
}
6262

6363
/// <inheritdoc />
64-
protected internal override bool IsAproximately(Quaternion first, Quaternion second, float precision)
64+
private protected override bool IsAproximately(Quaternion first, Quaternion second, float precision)
6565
{
6666
return (1.0f - Quaternion.Dot(first, second)) <= precision;
6767
}

com.unity.netcode.gameobjects/Runtime/Components/Interpolator/BufferedLinearInterpolatorVector3.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,13 @@ protected internal override Vector3 OnConvertTransformSpace(Transform transform,
5353
}
5454

5555
/// <inheritdoc />
56-
protected internal override bool IsAproximately(Vector3 first, Vector3 second, float precision = 0.0001F)
56+
private protected override bool IsAproximately(Vector3 first, Vector3 second, float precision = 0.0001F)
5757
{
5858
return Vector3.Distance(first, second) <= precision;
5959
}
6060

6161
/// <inheritdoc />
62-
protected internal override Vector3 SmoothDamp(Vector3 current, Vector3 target, ref Vector3 rateOfChange, float duration, float deltaTime, float maxSpeed)
62+
private protected override Vector3 SmoothDamp(Vector3 current, Vector3 target, ref Vector3 rateOfChange, float duration, float deltaTime, float maxSpeed)
6363
{
6464
if (IsAngularValue)
6565
{

0 commit comments

Comments
 (0)