mirror of
https://github.com/Xevion/Boids.git
synced 2025-12-13 06:11:00 -06:00
Boid optimize/fix wrapping checks
This commit is contained in:
@@ -23,11 +23,7 @@ public class Boid : MonoBehaviour {
|
|||||||
transform.rotation = Quaternion.Euler(0, 0, Mathf.Rad2Deg * -Mathf.Atan2(velocity.x, velocity.y));
|
transform.rotation = Quaternion.Euler(0, 0, Mathf.Rad2Deg * -Mathf.Atan2(velocity.x, velocity.y));
|
||||||
|
|
||||||
// Skip Flock Calculations if wrapping in progress
|
// Skip Flock Calculations if wrapping in progress
|
||||||
if (IsWrappingX || IsWrappingY) {
|
if (!IsWrappingX && !IsWrappingY) {
|
||||||
position += velocity;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Acquires all Boids within the local flock
|
// Acquires all Boids within the local flock
|
||||||
// List<Boid> flock = GetFlock(parent.boids, parent.boidGroupRange);
|
// List<Boid> flock = GetFlock(parent.boids, parent.boidGroupRange);
|
||||||
List<Boid> flock = parent.boids;
|
List<Boid> flock = parent.boids;
|
||||||
@@ -45,9 +41,14 @@ public class Boid : MonoBehaviour {
|
|||||||
velocity = (velocity / velocity.magnitude) * parent.boidVelocityLimit;
|
velocity = (velocity / velocity.magnitude) * parent.boidVelocityLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update 2D and 3D transform positions based on current velocity
|
||||||
position += velocity;
|
position += velocity;
|
||||||
transform.position = new Vector3(position.x, position.y, 0);
|
transform.position = new Vector3(position.x, position.y, 0);
|
||||||
|
|
||||||
|
// If either dimension of wrapping is still unlocked, check wrapping code.
|
||||||
|
if(!IsWrappingX || !IsWrappingY)
|
||||||
Wrapping();
|
Wrapping();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user