[Plugin dll] DigData basico save data Para Unity
3 participantes
Página 1 de 1
[Plugin dll] DigData basico save data Para Unity
fala aeh galera ,boa noite,depois de tanto tempo estudando um monte de codigo ,principalmente com arquivos de texto etc, criei aqui um plugin básico, ata ate parace kkk ate que deu um trabalho,e para caso alguem precise um dia,, entao criei meu proprio save data,bom pode conter alguns bugs,voce pode usar com o playerprefs se quiser,
entao como funciona o bagui;
Funcoes:
deixo claro se for usar o Encode com PlayerPrefs só Ira funcionar com string
obs: existe outras funcoes na dll se nao estiverem incluidas acima são as que estao em desenvolvimento,antes que eu me esqueça necessario usar o namespace/biblioteca
obs2: nao codifique a dig_key tem um bug de retorno,sera corrigido no proximo lançamento.
exemplo de uso:
só pra ter uma ideia de como é salvo,esta previa esta programada para a proxima versao,
versao: 0.1.5;
download Aqui
qualquer dúvida ou report de bugs resp aqui mesmo..
boas tarde.
entao como funciona o bagui;
Funcoes:
- Código:
//EXPERIMENTAL
//codifica string normal para um tipo de format ex: DigData.Encode("fel"); //saida _0x7b_0xt5_0x13
public static string Encode(string src);
//decodifica a saida acima para o texto original : "fel";
public static string Decode(string src);
//cria um arquivo com uma extensao ".dig" DefDir sao enum definidos como diretorios ex:
http://DigDate.CreateNewDigData(DefDir.DOCUMENTS,"testedada",5,true); encodetitle e se vc que codificar o titulo do arquivo
public static string CreateNewDigData(DefDir path, string filename, int maxline, bool encodetitle);
//igual acima só q vc escolhe seu path onde criar
public static string CreateNewDigData(string custompath, string filename, int maxline, bool encodetitle);
//ESTA PARTE È PARA INSERIR VALORES NO ARQUIVO--- LINe È A LINHA DO ARQUIVO ONDE SALVAR DE 1 pra CIma Lembre se Sempre onde salvou>
//Text é o mesmo que string só q com outras palavras
public static string SetTextEncode(string path, string nome, int line, string dig_key, string dig_value);
//Num dado com Int
public static int SetNumEncode(string path, string nome, int line, string dig_key, int dig_value);
//Cond dado como bool
public static bool SetCondEncode(string path, string nome, int line, string dig_key, bool dig_value);
//float né ja esta claro
public static float SetFloatEncode(string path, string nome, int line, string dig_key, float dig_value);
//vector3
public static Vector3 DigInsertVector3(string path, string nome, int line, string dig_key, Vector3 dig_value);
//vector2
public static Vector2 DigInsertVector2(string path, string nome, int line, string dig_key, Vector2 dig_value);
//ESTA PARTE È DE LEITURA DO ARQUIVO Text È String
public static string ReadText(string path, string nome, int line, string dig_key);
//Num = Int
public static int ReadNum(string path, string nome, int line, string dig_key);
//bool
public static bool ReadCond(string path, string nome, int line, string dig_key);
//float
public static float ReadFloat(string path, string nome, int line, string dig_key);
public static Vector3 DigReadVector3(string path, string nome, int line, string dig_key);
public static Vector2 DigReadVector2(string path, string nome, int line, string dig_key);
//checa se o arquivo dig existe,lembre-se nunca use a extensao,o path e o nome do arquivo
public static bool FileExist(string path_and_filename);
//apaga o arquivo dig no diretorios
public static void Dig_Delete(string path_and_filename);
//apaga out string retorna o statu se o arquivo foi excluido ou nao,ja foi excluido antes
public static void Dig_Delete(string path_and_filename, out string deletedsucess)
//pegar um local de inicio ex: string docs=DigData.GetDefaultocal(DefDir.DOCUMENTS); armazena o local no docs,
public static string GetDefaultLocal(DefDir local)
deixo claro se for usar o Encode com PlayerPrefs só Ira funcionar com string
- Código:
PlayerPrefs.SetString("meunome",DigData.Encode("fel")); //inserindo _0x....
string pnome=PlayerPrefs.GetString("meunome"); //pegando
pnome=DigData.Decode(pnome); //decodificar o "fel"
Debug.Log(pnome); //saida "fel"
obs: existe outras funcoes na dll se nao estiverem incluidas acima são as que estao em desenvolvimento,antes que eu me esqueça necessario usar o namespace/biblioteca
obs2: nao codifique a dig_key tem um bug de retorno,sera corrigido no proximo lançamento.
- Código:
using DigScript.Data;
exemplo de uso:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DigScript.Data;
public class Teste : MonoBehaviour
{
string path_documento=DigData.GetDefaultLocal(DefDir.DOCUMENTS);
string nome = "carlos";
private void Start()
{
if (!DigData.FileExist(path_documento + "data"))
{
DigData.CreateNewDigData(path_documento, "data", 5, true); //5 é numero max de linha,ainda contem bugs de linha
DigData.SetTextEncode(path_documento, "data", 1, "nome", nome);
}
else
{
nome = DigData.ReadText(path_documento, "data", 1, "nome"); //retorna o nome identificado na linha 1
}
}
private void Update()
{
//save
if (Input.GetKeyDown(KeyCode.S))
{
if (DigData.FileExist(path_documento + "data"))
{
DigData.SetTextEncode(path_documento, "data", 1,"nome",nome);
}
}
if (Input.GetKeyDown(KeyCode.L))
{
Debug.Log(DigData.ReadText(path_documento, "data", 1, "nome"));
}
}
}
só pra ter uma ideia de como é salvo,esta previa esta programada para a proxima versao,
versao: 0.1.5;
download Aqui
qualquer dúvida ou report de bugs resp aqui mesmo..
boas tarde.
Última edição por FelipeSouza11 em Sáb Set 22, 2018 2:10 pm, editado 9 vez(es) (Motivo da edição : atualizaçao de informaçao)
Re: [Plugin dll] DigData basico save data Para Unity
Dúvidas:
Quais dados posso salvar?
Ele compacta o arquivo?
É melhor que o Player Prefs ou outros?
Parabéns ae.
Quais dados posso salvar?
Ele compacta o arquivo?
É melhor que o Player Prefs ou outros?
Parabéns ae.
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [Plugin dll] DigData basico save data Para Unity
NKKF escreveu:Dúvidas:
Quais dados posso salvar?
Ele compacta o arquivo?
É melhor que o Player Prefs ou outros?
Parabéns ae.
boa tarde brow, bom como dito nas funcoes os tipos de dados aceitos são:
Float
Int
bool
String
Vector3 &
Vector2
por enquanto,
para Inserir e Retornar os valores.
bom o Plugin é experimental ou seja ainda pode haver alguns bugs e leitura de arquivo,se é melhor que o playerprefs não posso confirmar ,nunka lí a data do playerprefs se é que ela esta no path da unity ou do projeto
e por ultimo não,o arquivo não é compactado, como dito no titulo ele é de uso básico,os dados guardados serao guardado no tipo de arquivo igual ao txt, só que com a extensão ".dig" ,se o usuario codificar os dados, os dados serão trocados para outro formato do plugin
tipo:
a=_0xa9
1=_0xu00
daí por diante,
como dito acima codificar a dig_key nao esta dando retorno,é tanto codigo que esta parte foi esquecida,mas sera corrigida
inserindo os tipos de dados acima, poderao ser vistos no arquivo, por nao serem string,para codificar, o unico jeito de codificaros dados acima e convertendo para string Dig_InsertText e codificar, e ler usando dig_ReadText para converter novamente para o tipo e descodificar
a kda a atualizacao do plugin os formatos serão trocados!
qualquer sugestao,dica serão muito bem ACEITAS!
busca de bugs/erros ja ta sendo trabalhado,
,vlw brow
Edit:
atualizaçao de correção:
valores do tipo :FLOAT,BOOL, STRING E INT corrigidos baseado no print, qualquer valor salvo no arquivo sera salvo em formato bin do digdata
ex:string nome="felipe";
//saida _0xtery_0xshdu_0xwjed_0xwoiw_0xwjhweh //isso é só um exemplo <--- estes formatos nao existe no save
ainda nao corrigidos,Em Andamento:
Vector3 & vector2 serao salvos e lidos e numeros normais para dig format
versão: 0.1.7
Download Aqui v0.1.7b
ex2:
- Código:
public class Teste : MonoBehaviour
{
string path_documento=DigData.GetDefaultLocal(DefDir.DOCUMENTS);
int saude = 100;
private void Start()
{
if (!DigData.FileExist(path_documento + "data")) //se o arquivo nao existir criar um
{
DigData.CreateNewDigData(path_documento, "data",10,false); //false deixa o titulo do arquivo normal +- ----file_type[data.dig]----
DigData.SetNumEncode(path_documento, "data", 1, "saude",saude); //key e valor ,codifica no arquivo {_key}:_valor ={_0x_0x_0x_0x_0x}:_0x_0x_0x
}
else
{
saude = DigData.ReadNum(path_documento, "data", 1, "saude"); //atribue, decodifica o valor pela key nunka esqueça sua key
Debug.Log(saude); //printando o valor daquela key decodificada
}
}
}
Última edição por FelipeSouza11 em Sáb Set 22, 2018 2:03 pm, editado 1 vez(es) (Motivo da edição : atualizaçao de link)
Re: [Plugin dll] DigData basico save data Para Unity
Edit:
update fix:
adicionado-salvar-int-array: corrigido separamento de numeros
adicionado-salvar-string-array :corrigido separamento de strings
limite-de-linha-é-adiconado-apartir-da-hora-que-se-cria-o-arquivo
todo-dado-sera criptografado-de-acordo-com-o-format-do-plugin
corrigido-salvamento de booleans
em caso de esquecimento da key basta copiar a key q esta entre {"key"} no arquivo e descriptografar usando DigData.DecodeFromDig("&formatoaqui");
na hora de criar o arquivo num diretorio personalizado ele estara naquele diretodio na pasta digdata,a cada atualizaçao os formatos de codigo serao trocados, tipo a=0xwjdwiiw nova versão: a=00xfheia,etc
sera corrigido na proxima versão:
salvar vector3 & vector2
float sera readicionado
download [url=http://digitalingame.epizy.com/files/file_download/DigData_For_Unity_vs023_worknet3_5.7z]versão 0.2.3beta[/url] atualizado 7/10/18
obs: qualquer alteraçao no arquivo sem o plugin fara com que o arquivo nao seja lido como deve ser!
erros,bugs dicas serão muito bem vindas
update fix:
adicionado-salvar-int-array: corrigido separamento de numeros
adicionado-salvar-string-array :corrigido separamento de strings
limite-de-linha-é-adiconado-apartir-da-hora-que-se-cria-o-arquivo
todo-dado-sera criptografado-de-acordo-com-o-format-do-plugin
corrigido-salvamento de booleans
em caso de esquecimento da key basta copiar a key q esta entre {"key"} no arquivo e descriptografar usando DigData.DecodeFromDig("&formatoaqui");
na hora de criar o arquivo num diretorio personalizado ele estara naquele diretodio na pasta digdata,a cada atualizaçao os formatos de codigo serao trocados, tipo a=0xwjdwiiw nova versão: a=00xfheia,etc
sera corrigido na proxima versão:
salvar vector3 & vector2
float sera readicionado
download [url=http://digitalingame.epizy.com/files/file_download/DigData_For_Unity_vs023_worknet3_5.7z]versão 0.2.3beta[/url] atualizado 7/10/18
obs: qualquer alteraçao no arquivo sem o plugin fara com que o arquivo nao seja lido como deve ser!
erros,bugs dicas serão muito bem vindas
Última edição por FelipeSouza11 em Dom Out 07, 2018 5:11 pm, editado 5 vez(es) (Motivo da edição : Atualizaçao de conteúdo)
Re: [Plugin dll] DigData basico save data Para Unity
que delicia cara! vlw!FelipeSouza11 escreveu:update fix:
adicionado-salvar-int-array
adicionado-salvar-string-array
limite-de-linha-é-adiconado-apartir-da-hora-que-se-cria-o-arquivo
todo-dado-sera criptografado-de-acordo-com-o-format-do-plugin
em caso de esquecimento da key basta copiar a key q esta entre {"key"} no arquivo e descriptografar usando DigData.DecodeFromDig("&formatoaqui");
na hora de criar o arquivo num diretorio personalizado ele estara naquele diretodio na pasta digdata,
removido temporariamente:
salvar vector3 & vector2
float sera readicionado em breve
download versão 0.1.9beta
erros,bugs dicas serão muito bem vindas
Tópicos semelhantes
» Plugin de serviço para unity
» Equipe para Novatos no Unity (Projeto Básico)
» [Blender] Plugin De Criar Casa + Como Instalar Plugin
» Pasta DATA do game SCHULTZ disponibilizada para DOWNLOAD
» Script extremamente básico para Lanterna.
» Equipe para Novatos no Unity (Projeto Básico)
» [Blender] Plugin De Criar Casa + Como Instalar Plugin
» Pasta DATA do game SCHULTZ disponibilizada para DOWNLOAD
» Script extremamente básico para Lanterna.
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos