private void OnDrawGizmos() //ao desenhar o gizmos da unity //para testes { if (showGizmosOnInspector) { Gizmos.DrawWireSphere(transform.position, startingCount * agentDensity); //desenhar o circulo de spawn dos agentes Gizmos.color = new Color(0f, 0.8f, 0f, 1f); Gizmos.DrawWireSphere(transform.position, neighborRadius); //desenhar o circulo de alcance dos agentes //para testes Gizmos.color = new Color(0.8f, 0f, 0f, 1f); Gizmos.DrawWireSphere(transform.position, neighborRadius * avoidanceRadiusMultiplier); //desenhar o circulo de "evasao" dos agentes //para testes if (flockBehavior.GetType() == typeof(CompositeBehavior)) //se for um composite behavior { CompositeBehavior compositeBehavior = (CompositeBehavior)flockBehavior; if (compositeBehavior.flockBehaviors != null) //se nao for null { for (int i = 0; i < compositeBehavior.flockBehaviors.Length; i++) //para cada comportamento no array { if (compositeBehavior.flockBehaviors[i].GetType() == typeof(StayInRadiusBehavior)) //se for um stayInRadius behavior { ((StayInRadiusBehavior)compositeBehavior.flockBehaviors[i]).OnDrawGizmos(); //desenhar o gizmos (se possivel) } } } } } }