Skip to content

Commit 271c236

Browse files
committed
remove caching Collision object to unblock KSPCF optimization
1 parent f5985d3 commit 271c236

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

Source/RocketSoundEnhancement/PartModules/ShipEffectsCollisions.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class ShipEffectsCollisions : RSE_Module
1717
private Dictionary<CollisionType, List<SoundLayer>> SoundLayerCollisionGroups = new Dictionary<CollisionType, List<SoundLayer>>();
1818

1919
private bool collided;
20-
private Collision collision;
20+
private Vector3 collisionRelativeVelocity;
2121
private CollidingObject collidingObject;
2222
private CollisionType collisionType;
2323

@@ -65,7 +65,7 @@ public override void LateUpdate()
6565
if (!SoundLayerCollisionGroups.ContainsKey(collisionType)) return;
6666

6767
string collidingObjectString = collidingObject.ToString().ToLower();
68-
float control = collision != null ? collision.relativeVelocity.magnitude : 0;
68+
float control = collisionRelativeVelocity.magnitude;
6969

7070
foreach (var soundLayer in SoundLayerCollisionGroups[collisionType])
7171
{
@@ -76,7 +76,8 @@ public override void LateUpdate()
7676
}
7777

7878
baseLateUpdate:
79-
base.LateUpdate();
79+
collisionRelativeVelocity = Vector3.zero;
80+
base.LateUpdate();
8081
}
8182

8283
public override void FixedUpdate()
@@ -96,23 +97,23 @@ public void OnCollisionEnter(Collision col)
9697
collided = true;
9798
collidingObject = AudioUtility.GetCollidingObject(col.gameObject);
9899
collisionType = CollisionType.CollisionEnter;
99-
collision = col;
100+
collisionRelativeVelocity = col.relativeVelocity;
100101
}
101102

102103
public void OnCollisionStay(Collision col)
103104
{
104105
collided = true;
105106
collidingObject = AudioUtility.GetCollidingObject(col.gameObject);
106107
collisionType = CollisionType.CollisionStay;
107-
collision = col;
108+
collisionRelativeVelocity = col.relativeVelocity;
108109
}
109110

110111
public void OnCollisionExit(Collision col)
111112
{
112113
collided = false;
113114
collidingObject = AudioUtility.GetCollidingObject(col.gameObject);
114115
collisionType = CollisionType.CollisionExit;
115-
collision = col;
116+
collisionRelativeVelocity = col.relativeVelocity;
116117
}
117118

118119
public override void OnLoad(ConfigNode node)

0 commit comments

Comments
 (0)