[SCRIPT] Ler Texto em .TXT Por Chave
Página 1 de 1
[SCRIPT] Ler Texto em .TXT Por Chave
Fala galera esse script nada mais é do que ler um texto de um arquivo de texto atraves de uma chave,
eu uso para coisas simples tipo configurar um menu ou botoes, legendas etc,
Tutorial de uso:
criar um arquivo de texto "menu.txt" em qualquer lugar do seu computador
edite, crie uma chave ou chaves e o valor igual o formato abaixo
exemplo: arquivo de texo "menu.txt"
chave="valor" (valor fica entre aspas, quando for ler sera retornado so o que esta dentro das aspas)
este é o script ,"digamos o plugin", coisa básica: Lin.cs (sera acessado no Teste.cs) ,nao precisa adicionar a nenhum objeto
Script Principal de teste Teste.cs
fiz o mais básico possivel para entendimento , caso use , use para coisas simples, nao use como save game que dara erros,etc, ha nao ser que voce mange de arquivos textos e System.IO ,
Livre para ediçao etc,
eu uso para coisas simples tipo configurar um menu ou botoes, legendas etc,
Tutorial de uso:
criar um arquivo de texto "menu.txt" em qualquer lugar do seu computador
edite, crie uma chave ou chaves e o valor igual o formato abaixo
exemplo: arquivo de texo "menu.txt"
chave="valor" (valor fica entre aspas, quando for ler sera retornado so o que esta dentro das aspas)
- Código:
startGame="Start Game"
pauseGame="Pause Game"
optionsGame="Options"
este é o script ,"digamos o plugin", coisa básica: Lin.cs (sera acessado no Teste.cs) ,nao precisa adicionar a nenhum objeto
- Código:
using System.IO;
//using UnityEngine;
public class Lin
{
/*
* Identifica uma chave em um arquivo .txt e retorna o valor dessa chave (script básico)
*somente leitura,
*logica de funcionamento:
* chave="valor"
*/
private string _path;
private string _fileName;
public Lin(){}
public void assignPath(string path, string fileName){
//atribuindo path e nome do arquivo +extensao
_path=path;
_fileName=fileName;
}
public string readKey(string key){
//Ler linhas do arquivo ,armazenar no array
string[] lines=File.ReadAllLines(_path+_fileName);
//loop
for(int i=0; i<lines.Length; i++){
//se tem ="
if(lines[i].Contains("="")){
//comparar chave
if(lines[i].Substring(0, lines[i].IndexOf("="))==key){
//retornar valor
return lines[i].Substring(lines[i].IndexOf("="")+2, lines[i].Length-lines[i].IndexOf("="")+-3);
}
}
}
// se a chave nao for encontrada, retorna a linha abaixo
return "Erro( chave: ""+key +"" nao foi encontrada)";
}
}
Script Principal de teste Teste.cs
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Teste : MonoBehaviour
{
//UiTexts
public Text startGame, pauseGame, optionsGame;
Lin data; //declarando , vamos chamar de data
void Start()
{
print("Hello World!"); //teste de programadores :V
data=new Lin();
//caminho para o arquivo de texto e nome
//salvei o arquivo na pasta documents
data.assignPath("C:/Users/Lipe/Documents/","menu.txt");
//lendo e retornando os valores do arquivo
//resumindo ao dar play os textos serao trocas pelos que estao no arquivo de texto
startGame.text=data.readKey("startGame"); //saida Start Game
pauseGame.text=data.readKey("pauseGame"); //saida Pause Game
optionsGame.text=data.readKey("optionsGame"); //saida Options
}
}
fiz o mais básico possivel para entendimento , caso use , use para coisas simples, nao use como save game que dara erros,etc, ha nao ser que voce mange de arquivos textos e System.IO ,
Livre para ediçao etc,
Tópicos semelhantes
» Texto por Script
» Mudar texto por script
» [Pedido] Script Texto Ao "Mirar" em um objeto
» Como fazer texto do Script entrar no UI
» [RESOLVIDO] Problema com script para captura de texto
» Mudar texto por script
» [Pedido] Script Texto Ao "Mirar" em um objeto
» Como fazer texto do Script entrar no UI
» [RESOLVIDO] Problema com script para captura de texto
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos