waruiyume писал(а):Если ещё нужно.
Используется csharp
using UnityEngine;
class GuiTest:MonoBehaviour
{
private int oldInpTas;
public int newImpTas;
private string[] text=new string[0];
void DoMyWindow(int windowID)
{
text[windowID] = GUILayout.TextArea(text[windowID], GUILayout.Width(200));
}
void Update()
{
if(newImpTas!=oldInpTas)
{
if (newImpTas < 0) newImpTas = 0;
string[] tempText = new string[newImpTas];
if(newImpTas<text.Length)
{
for (int t = 0; t < newImpTas; t++)
tempText[t] = text[t];
}
else
{
for (int t = 0; t < text.Length; t++)
tempText[t] = text[t];
for (int t = text.Length; t < newImpTas; t++)
tempText[t] = "";
}
text = tempText;
}
}
void OnGUI()
{
if(newImpTas>0)
for (int id = 0; id < text.Length; id++)
DoMyWindow(id);
}
}
сегодня оптимизируя код, немного переосмыслил работы этой функции у себя в коде
сделал все на мнооооого проще
private string[] text=new string[сколько душе угодно];
void DoMyWindow(int windowID)
{
text[windowID] = "" + GUILayout.TextArea(text[windowID], GUILayout.Width(200));
}