Вот один из вариантов решения проблемы:
Синтаксис:
Используется csharp
/// <summary>
/// оптимизируем вывод в консоль
/// </summary>
System.Text.StringBuilder strb = new System.Text.StringBuilder();
Queue ochered = new Queue();
IEnumerator StrbDebug()
{
while (true)
{
if(ochered.Count>0)
Debug.Log(ochered.Dequeue().ToString());
yield return null;
}
}
void DoStrb(int id, int k, int r)
{
strb.Remove(0, strb.Length);
strb.Append("id: ");
strb.Append(id);
strb.Append(" k: ");
strb.Append(k);
strb.Append(" r: ");
strb.Append(r);
ochered.Enqueue(strb.ToString());
}
/// оптимизируем вывод в консоль
/// </summary>
System.Text.StringBuilder strb = new System.Text.StringBuilder();
Queue ochered = new Queue();
IEnumerator StrbDebug()
{
while (true)
{
if(ochered.Count>0)
Debug.Log(ochered.Dequeue().ToString());
yield return null;
}
}
void DoStrb(int id, int k, int r)
{
strb.Remove(0, strb.Length);
strb.Append("id: ");
strb.Append(id);
strb.Append(" k: ");
strb.Append(k);
strb.Append(" r: ");
strb.Append(r);
ochered.Enqueue(strb.ToString());
}
Потом в нужных местах вызываем
- Код: Выделить всё
DoStrb(id, k, r);
И все значения аккуратно выведутся по одному за кадр в консоли (с задержкой, но это не всегда критично).