Всем привет. Такой вопрос: Возможно ли из игрового процесса вносить изменения в скрипт или в файл? Допустим вводишь слово, а в файле словаря такого слова нет, и типа жмёшь на UI кнопку "добавить новое слово" и введённое слово добавляется в файл словаря. Или только в редакторе открывать файл и добавлять в ручную? Если такая возможность всё-таки есть, подскажите плиз)
В этой теме разобрался:
есть скрипт:
Код
using UnityEngine;
using UnityEngine.UI;
using System.IO;
using UnityEngine.EventSystems;
public class addWord : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
string pathToFile = "C:/rus.txt";
string[] slovar = File.ReadAllLines("C:/rus.txt");
public Text wordDown;
public string wordDownStr;
bool pressed = false;
public void OnPointerDown(PointerEventData eventData)
{
pressed = true;
}
public void OnPointerUp(PointerEventData eventData)
{
pressed = false;
}
void Update()
{
wordDownStr = wordDown.text;
if (pressed)
{
File.AppendAllText(pathToFile, Environment.NewLine);
File.AppendAllText(pathToFile, wordDownStr);
}
}
}
но работает не корректно
строка File.AppendAllText(pathToFile, Environment.NewLine); - в ней "имя Environment не существует в данном контексте" (не могу добавить новую строку в файл)
строка File.AppendAllText(pathToFile, wordDownStr); - работает но записывает в файл одно и то же слово несколько раз подряд при одном нажатии ui кнопки (хотя должно записать однократно)
Народ, помогите разобраться в чём дело...
Добавлено (23 Апреля 2021, 09:49)
---------------------------------------------
переделал скрипт, теперь с записью нового слова всё ОК (записывает новое слово единожды, как нужно)
Код
using UnityEngine;
using UnityEngine.UI;
using System.IO;
public class addWord : MonoBehaviour
{
string pathToFile = "C:/rus.txt";
public Text wordDown;
public string wordDownStr;
public void rec()
{
wordDownStr = wordDown.text;
File.AppendAllText(pathToFile, wordDownStr);
File.AppendAllText(pathToFile, Environment.NewLine);
}
}
Но со строкой File.AppendAllText(pathToFile, Environment.NewLine); так и осталась проблема: не работает Environment (не могу создать в файле новую строку) Может быть есть какой то другой способ?
Можно закрывать тему.
нашёл добавление новой строки в файл:
File.AppendAllText(pathToFile, "\r\n");