using System.Collections.Generic;
using UnityEngine;
public class Test2kCC : MonoBehaviour
{
List<CharacterController> list = new();
void Start()
{
for(var i = 0; i < 300; i++)
{
list.Add(new GameObject($"CC_{i}").AddComponent<CharacterController>());
}
}
public void DrawBounds(Bounds b, Color color, float duration = 0)
{
var p1 = new Vector3(b.min.x, b.min.y, b.min.z);
var p2 = new Vector3(b.max.x, b.min.y, b.min.z);
var p3 = new Vector3(b.max.x, b.min.y, b.max.z);
var p4 = new Vector3(b.min.x, b.min.y, b.max.z);
Debug.DrawLine(p1, p2, color, duration);
Debug.DrawLine(p2, p3, color, duration);
Debug.DrawLine(p3, p4, color, duration);
Debug.DrawLine(p4, p1, color, duration);
var p5 = new Vector3(b.min.x, b.max.y, b.min.z);
var p6 = new Vector3(b.max.x, b.max.y, b.min.z);
var p7 = new Vector3(b.max.x, b.max.y, b.max.z);
var p8 = new Vector3(b.min.x, b.max.y, b.max.z);
Debug.DrawLine(p5, p6, color, duration);
Debug.DrawLine(p6, p7, color, duration);
Debug.DrawLine(p7, p8, color, duration);
Debug.DrawLine(p8, p5, color, duration);
Debug.DrawLine(p1, p5, color, duration);
Debug.DrawLine(p2, p6, color, duration);
Debug.DrawLine(p3, p7, color, duration);
Debug.DrawLine(p4, p8, color, duration);
}
void FixedUpdate()
{
for (var i = 0; i < list.Count; i++)
{
list[i].Move(Random.insideUnitSphere * Random.Range(-3,3));
DrawBounds(list[i].bounds, Color.red);
}
}
}