Всем привет. Такой вопрос: Возможно ли из игрового процесса вносить изменения в скрипт или в файл? Допустим вводишь слово, а в файле словаря такого слова нет, и типа жмёшь на 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");