Среда, 27 Ноября 2024, 08:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Внесение изменений в скрипт
labinzevvДата: Пятница, 23 Апреля 2021, 03:33 | Сообщение # 1
частый гость
Сейчас нет на сайте
Всем привет. Такой вопрос: Возможно ли из игрового процесса вносить изменения в скрипт или в файл? Допустим вводишь слово, а в файле словаря такого слова нет, и типа жмёшь на 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");


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv

Сообщение отредактировал labinzevv - Пятница, 23 Апреля 2021, 11:20
drcrackДата: Пятница, 23 Апреля 2021, 19:19 | Сообщение # 2
старожил
Сейчас нет на сайте
Код
using System;

Любая адекватная IDE подскажет тебе это сама при попытке использовать Environment, ты код в блокноте пишешь что ли?


Сообщение отредактировал drcrack - Пятница, 23 Апреля 2021, 19:20
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг