Моделлер лезет в Unity. Прошу помочь. Из файла в List.
Добавлено: 13 авг 2019, 00:30
Решил сделать первую в жизни программку, проще не бывает. Суть выдавать интересные факты. Есть множество категорий, выбираешь любую и тебе выдаёт по одному интересному факту, клавишей вперед просто пролистываешь факты. Так вот, фактов огромное множество. Насмотрелся ТУТОРИОЛОВ с ютуба и вроде получилось, только вот одно НО, каждый факт нужно забивать вручную с программы . Уже создал тьму текстовых файлов (*.txt), для каждой категории, по одному факту в строке т.е. тьма тьмущая строк. И вот наконец таки вопрос, как организовать считывание этих строк в массив и далее перемешивание фактов, вывод их в окно текста и удаление уже просмотренных???(Один *.txt файл для одной сцены т.е. категории, так что нужно просто один файл считать, остальные сцены сделаю подобно этой ).
Код:
Код:
Синтаксис:
Используется csharp
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class airplane_script : MonoBehaviour
{
public FactList[] facts;
public Text ftext;
List<object> fList;
int randF;
public GameObject next;
private void OnLevelWasLoaded() //
{
fList = new List<object>(facts);
factsgenerate();
}
void factsgenerate()
{
if (fList.Count > 0)
{
randF = Random.Range(0, fList.Count);
FactList crntF = fList[randF] as FactList;
ftext.text = crntF.fact;
}
else
{
ftext.text = "потом придумаю";
next.SetActive(false);
}
}
public void nextbuttons()// Кнопка следующего факта
{
factsgenerate();//новый факт генерируется
fList.RemoveAt(randF);//просмотренный удаляется
}
public void OnMouseUpAsButton() // Кнопка выхода меню
{
SceneManager.LoadScene("main");
}
}
[System.Serializable]
public class FactList
{
public string fact; //вот этот камень об который я бьюсь.
}
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class airplane_script : MonoBehaviour
{
public FactList[] facts;
public Text ftext;
List<object> fList;
int randF;
public GameObject next;
private void OnLevelWasLoaded() //
{
fList = new List<object>(facts);
factsgenerate();
}
void factsgenerate()
{
if (fList.Count > 0)
{
randF = Random.Range(0, fList.Count);
FactList crntF = fList[randF] as FactList;
ftext.text = crntF.fact;
}
else
{
ftext.text = "потом придумаю";
next.SetActive(false);
}
}
public void nextbuttons()// Кнопка следующего факта
{
factsgenerate();//новый факт генерируется
fList.RemoveAt(randF);//просмотренный удаляется
}
public void OnMouseUpAsButton() // Кнопка выхода меню
{
SceneManager.LoadScene("main");
}
}
[System.Serializable]
public class FactList
{
public string fact; //вот этот камень об который я бьюсь.
}