Skip to content

Commit 44fcc0d

Browse files
committed
Simplifications in BezierWalkerEditor
1 parent 79f4f28 commit 44fcc0d

File tree

4 files changed

+18
-17
lines changed

4 files changed

+18
-17
lines changed

Plugins/BezierSolution/Editor/BezierWalkerEditor.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
using System.Collections.Generic;
1+
using System;
2+
using System.Collections.Generic;
23
using UnityEditor;
34
using UnityEngine;
45

56
namespace BezierSolution.Extras
67
{
7-
public abstract class BezierWalkerEditor : Editor
8+
public abstract class BezierWalkerEditor<T> : Editor where T : BezierWalker
89
{
9-
protected Object[] walkers;
10+
protected T[] walkers;
1011

1112
private bool simulateInEditor;
1213
private double lastUpdateTime;
@@ -18,7 +19,7 @@ public abstract class BezierWalkerEditor : Editor
1819

1920
private void OnEnable()
2021
{
21-
walkers = targets;
22+
walkers = Array.ConvertAll( targets, ( e ) => (T) e );
2223

2324
if( simulateInEditor )
2425
StartSimulateInEditor();
@@ -75,9 +76,9 @@ protected virtual void SaveInitialData()
7576

7677
for( int i = 0; i < walkers.Length; i++ )
7778
{
78-
initialPositions.Add( ( (Component) walkers[i] ).transform.position );
79-
initialRotations.Add( ( (Component) walkers[i] ).transform.rotation );
80-
initialNormalizedTs.Add( ( (BezierWalker) walkers[i] ).NormalizedT );
79+
initialPositions.Add( walkers[i].transform.position );
80+
initialRotations.Add( walkers[i].transform.rotation );
81+
initialNormalizedTs.Add( walkers[i].NormalizedT );
8182
}
8283

8384
hasInitialData = true;
@@ -89,9 +90,9 @@ protected virtual void RestoreInitialData()
8990
{
9091
if( walkers[i] )
9192
{
92-
( (Component) walkers[i] ).transform.position = initialPositions[i];
93-
( (Component) walkers[i] ).transform.rotation = initialRotations[i];
94-
( (BezierWalker) walkers[i] ).NormalizedT = initialNormalizedTs[i];
93+
walkers[i].transform.position = initialPositions[i];
94+
walkers[i].transform.rotation = initialRotations[i];
95+
walkers[i].NormalizedT = initialNormalizedTs[i];
9596
}
9697
}
9798
}
@@ -114,7 +115,7 @@ private void SimulateInEditor()
114115
protected virtual void Simulate( float deltaTime )
115116
{
116117
for( int i = 0; i < walkers.Length; i++ )
117-
( (BezierWalker) walkers[i] ).Execute( deltaTime );
118+
walkers[i].Execute( deltaTime );
118119
}
119120
}
120121
}

Plugins/BezierSolution/Editor/BezierWalkerLocomotionEditor.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace BezierSolution.Extras
66
{
77
[CustomEditor( typeof( BezierWalkerLocomotion ) )]
88
[CanEditMultipleObjects]
9-
public class BezierWalkerLocomotionEditor : BezierWalkerEditor
9+
public class BezierWalkerLocomotionEditor : BezierWalkerEditor<BezierWalkerLocomotion>
1010
{
1111
private int tailSaveDataStartIndex;
1212

@@ -17,7 +17,7 @@ protected override void SaveInitialData()
1717

1818
for( int i = 0; i < walkers.Length; i++ )
1919
{
20-
List<Transform> tail = ( (BezierWalkerLocomotion) walkers[i] ).Tail;
20+
List<Transform> tail = walkers[i].Tail;
2121
for( int j = 0; j < tail.Count; j++ )
2222
{
2323
initialPositions.Add( tail[j].position );
@@ -35,7 +35,7 @@ protected override void RestoreInitialData()
3535
{
3636
if( walkers[i] )
3737
{
38-
List<Transform> tail = ( (BezierWalkerLocomotion) walkers[i] ).Tail;
38+
List<Transform> tail = walkers[i].Tail;
3939
for( int j = 0; j < tail.Count; j++, index++ )
4040
{
4141
tail[j].position = initialPositions[index];
@@ -48,7 +48,7 @@ protected override void RestoreInitialData()
4848
protected override void Simulate( float deltaTime )
4949
{
5050
for( int i = 0; i < walkers.Length; i++ )
51-
( (BezierWalkerLocomotion) walkers[i] ).walker.Execute( deltaTime );
51+
walkers[i].walker.Execute( deltaTime );
5252

5353
base.Simulate( deltaTime );
5454
}

Plugins/BezierSolution/Editor/BezierWalkerWithSpeedEditor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace BezierSolution.Extras
44
{
55
[CustomEditor( typeof( BezierWalkerWithSpeed ) )]
66
[CanEditMultipleObjects]
7-
public class BezierWalkerWithSpeedEditor : BezierWalkerEditor
7+
public class BezierWalkerWithSpeedEditor : BezierWalkerEditor<BezierWalkerWithSpeed>
88
{
99
}
1010
}

Plugins/BezierSolution/Editor/BezierWalkerWithTimeEditor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ namespace BezierSolution.Extras
44
{
55
[CustomEditor( typeof( BezierWalkerWithTime ) )]
66
[CanEditMultipleObjects]
7-
public class BezierWalkerWithTimeEditor : BezierWalkerEditor
7+
public class BezierWalkerWithTimeEditor : BezierWalkerEditor<BezierWalkerWithTime>
88
{
99
}
1010
}

0 commit comments

Comments
 (0)