void Update() { foreach (FlockAgent agent in agents) { List <Transform> context = getNearbyObjects(agent); Vector3 move = behavior.calculateMove(agent, context, this); move *= driveFactor; if (move.sqrMagnitude > squareMaxSpeed) { move = move.normalized * maxSpeed; } agent.move(move); } }
// Update is called once per frame void Update() { foreach (FlockAgent agent in agents) { List <Transform> context = getNearbyObjects(agent); //for Demo //agent.GetComponentInChildren<SpriteRenderer>().color = Color.Lerp(Color.white, Color.red, context.Count / 6f); Vector2 move; move = flockBehavior.calculateMove(agent, context, this); move *= driveFactor; if (move.sqrMagnitude > squareMaxSpeed) { move = move.normalized * maxSpeed; } agent.Move(move); } }