Esempio n. 1
0
    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);
        }
    }
Esempio n. 2
0
    // 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);
        }
    }