1920*1080 это 2073600 итоговых и их прога вывести не может
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using TMPro;
using UnityEngine;
public class TextLoader : MonoBehaviour
{
[Header("Path")]
[SerializeField] private string _path; // путь нужно указывать в именем файла без числа
[Header("TextPref")]
[SerializeField] private GameObject _textPref;
[Header("MainTextContainer")]
[SerializeField] private GameObject _mainConteiner;
[Header("MainTextContainer")]
[SerializeField] private TextShow TS;
private int _maxIndex;
private readonly List<string> _text = new();
void Start()
{
ReadText();
}
private void ReadText()
{
string textPath = _path + "\\" + _path.Split("\\")[^1];
for (int i = 0; i < CountMaxIndex(); i++)
{
var fs = File.ReadAllText(textPath + $"{i}.txt");
_text.Add(fs);
}
StartCoroutine(CreateAndAddText());
}
private IEnumerator CreateAndAddText(int index = 0)
{
GameObject textField = Instantiate(_textPref, new Vector3(0,100,0), Quaternion.identity);
textField.transform.GetChild(0).GetComponent<TextMeshProUGUI>().text = _text[index];
textField.transform.SetParent(_mainConteiner.transform, false);
textField.transform.localPosition = Vector3.zero;
textField.name = index.ToString();
textField.SetActive(false);
yield return null;
if(++index < _maxIndex)
StartCoroutine(CreateAndAddText(index));
else
TS.Show();
}
private int CountMaxIndex()
{
_maxIndex = Directory.GetFiles(_path).Length;
return _maxIndex;
}
}
using Microsoft.Cci;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using UnityEngine;
using UnityEngine.Windows;
public class TextShow : MonoBehaviour
{
[Header("MainConteiner")]
[SerializeField] private GameObject _mainConteiner;
[Header("Delay")]
[SerializeField] private float _delay;
private int _countOfChilds;
public void Show()
{
_countOfChilds = _mainConteiner.transform.childCount;
StartCoroutine(ShowText());
}
private IEnumerator ShowText(int index = 0)
{
string dirName =DateTime.Now.ToShortDateString();
Directory.CreateDirectory(dirName);
GameObject curr = _mainConteiner.transform.GetChild(index).gameObject;
curr.SetActive(true);
//ScreenCapture.CaptureScreenshot(dirName + $"\\Screen{index}.png", 10);
yield return new WaitForSeconds(_delay);
curr.SetActive(false);
if (index < _countOfChilds - 1)
StartCoroutine(ShowText(++index));
}
}
void Start()
{
ReadText();
}
private void ReadText()
{
string textPath = _path + "\\" + _path.Split("\\")[^1];
for (int i = 0; i < CountMaxIndex(); i++)
{
var fs = File.ReadAllText(textPath + $"{i}.txt");
_text.Add(fs);
}
StartCoroutine(CreateAndAddText());
}