//função para adcionar um novo player a lista
    public void Create(ListaPontosJogador listaPontos)
    {
        string json    = JsonUtility.ToJson(listaPontos);       //transforma a lista de pontos do jogador em uma string Json
        string caminho = this.obtemCaminho();

        File.WriteAllText(caminho, json);                       //salva o arquivo
    }
    //se retornar null então quer dizer que o arquivo não foi criado ainda
    public ListaPontosJogador Retrieve()
    {
        ListaPontosJogador listaPontos = null;
        string             caminho     = this.obtemCaminho();
        string             json        = File.ReadAllText(caminho);

        listaPontos = JsonUtility.FromJson <ListaPontosJogador>(json);
        return(listaPontos);
    }
    //esta função sera chamada apenas uma vez, ela servira para criar o arquivo Json no sistema
    public void preencherJsonSimples()
    {
        ListaPontosJogador listaPontos   = new ListaPontosJogador();
        PontosJogador      pontosJogador = new PontosJogador();

        pontosJogador.nomePlayer   = "Exemplo";
        pontosJogador.pontosPlayer = 10;
        listaPontos.listaPontuacao.Add(pontosJogador);
        this.Create(listaPontos);
    }
Exemplo n.º 4
0
    public InputField nome, pontuacao;  //campos de coleta

    public void salvar()
    {
        ListaPontosJogador listaDeDadosJogadores = new ListaPontosJogador();    //Lista que recebera os dados do Json
        PontosJogador      novoDadoJogador       = new PontosJogador();         //objeto que usaremos para salvar os novos dados
        JsonSerializador   serializador          = new JsonSerializador();      //classe que contem o metodo de save e retriev
        bool playerExiste = false;                                              //flag para indicar se o player existe ou nao

        //Obtem os dados do Json
        listaDeDadosJogadores = serializador.Retrieve();

        //se algum campo estiver vazio então envie mensagem de erro
        if (nome.text.Equals("") || pontuacao.text.Equals(""))
        {
            status.text = "Nome ou pontuação estão em branco!";
        }
        else
        {
            //salva a nova entrada
            novoDadoJogador.nomePlayer   = nome.text;
            novoDadoJogador.pontosPlayer = int.Parse(pontuacao.text);
            //se alista estiver vazia significa que não há nenhum player salvo no Json ou que o arquivo não foi criado
            if (listaDeDadosJogadores == null)
            {
                //sava a nova entrada e exibe mensagem de sucesso
                listaDeDadosJogadores.listaPontuacao.Add(novoDadoJogador);
                serializador.Create(listaDeDadosJogadores);
                status.text = nome.text + " cadastrado com sucesso!";
            }
            else
            {
                foreach (PontosJogador dados in listaDeDadosJogadores.listaPontuacao)   //varre a lista que obtemos do Json
                {
                    //se ja existir esse nome na lista então ele deve avisar o jogador
                    if (dados.nomePlayer.Equals(novoDadoJogador.nomePlayer))
                    {
                        playerExiste = true;
                        break;
                    }
                }
                //se o player existe então mostre uma mensagem de erro
                if (playerExiste)
                {
                    status.text = "Erro. Esse jogador já foi cadastrado entre com um novo ou vá no menu EDITAR para alterar os dados";
                }
                //se o player não existe então salve-o no Json
                else
                {
                    listaDeDadosJogadores.listaPontuacao.Add(novoDadoJogador);
                    serializador.Create(listaDeDadosJogadores);
                    status.text = nome.text + " cadastrado com sucesso";
                }
            }
        }
    }
Exemplo n.º 5
0
    //lista na tela todo o conteudo do Json
    public void listar()
    {
        ListaPontosJogador listaJogadorL = new ListaPontosJogador();

        listaJogadorL = serializador.Retrieve();
        string pontuacao = "";

        foreach (PontosJogador jogadorE in listaJogadorL.listaPontuacao)
        {
            pontuacao += "Nome: " + jogadorE.nomePlayer + " Pontos: " + jogadorE.pontosPlayer + "\n";
        }
        texto.text = pontuacao;
    }
Exemplo n.º 6
0
    //preenche os campos nome e pontuação com os dados do item selecionado
    //tratamento da seleceção de itens do dropDown
    public void preencherInpField()
    {
        listaE = serializador.Retrieve();                           //recupera a lista de jogadores salvas no Json
        string quem = opDropDown.selecionarItemDpd(dpdPlayes);      //quem esta selecionado no dropDown

        foreach (PontosJogador dados in listaE.listaPontuacao)      //for para atualizar os campos e mostrar os dados antigos
        {
            if (dados.nomePlayer.Equals(quem))
            {
                novoNome.text      = dados.nomePlayer;
                novaPontuacao.text = dados.pontosPlayer.ToString();
                break;
            }
        }
    }
    public bool delete(string quem)
    {
        bool playerExiste = false;
        ListaPontosJogador listaPontosL = new ListaPontosJogador();

        listaPontosL = this.Retrieve();
        //varre a lisa de players para tentar encontrar quem sera deletado
        foreach (PontosJogador jogadorE in listaPontosL.listaPontuacao)
        {
            if (jogadorE.nomePlayer.Equals(quem))
            {
                playerExiste = true;
                listaPontosL.listaPontuacao.Remove(jogadorE);           //remove os dados do player da lista
                break;
            }
        }
        if (playerExiste)
        {
            this.Create(listaPontosL);                                  //salva a lista sem o player
        }
        return(playerExiste);
    }
    //metodo para realizar Update no jogador selecionado
    public bool Update(PontosJogador jogador, string quem)
    {
        bool playerExiste = false;
        ListaPontosJogador listaPontos = new ListaPontosJogador();

        listaPontos = this.Retrieve();

        //varre a lista de players araz de quem será editado
        foreach (PontosJogador jogadorE in listaPontos.listaPontuacao)
        {
            if (jogadorE.nomePlayer.Equals(quem))
            {
                playerExiste = true;
                listaPontos.listaPontuacao.Remove(jogadorE);            //remove o dado antigo
                listaPontos.listaPontuacao.Add(jogador);                //adciona o novo dado
                break;
            }
        }
        if (playerExiste)
        {
            this.Create(listaPontos);
        }
        return(playerExiste);
    }
Exemplo n.º 9
0
 //popula/atualiza a lista contendo os players cadastrados
 public Dropdown popularDropDown(Dropdown dropdown)
 {
     this.dpdPlayes = dropdown;
     dpdPlayes.ClearOptions();
     listaJ = serializador.Retrieve();
     //se a lista estiver vazia significa que não há nenhum player cadastrado
     if (listaJ == null)
     {
         //retorna um dpPlayers nulo
         dpdPlayes = null;
         return(dpdPlayes);
     }
     else
     {
         List <string> nomes = new List <string>();
         foreach (PontosJogador dados in listaJ.listaPontuacao)
         {
             nomes.Add(dados.nomePlayer);
             //Debug.Log("entrei: " + dados.nomePlayer);
         }
         dpdPlayes.AddOptions(nomes);
         return(dpdPlayes);
     }
 }