Esempio n. 1
0
    //Busca la mision
    public void LeeMision()
    {
        StreamReader file = new StreamReader((Application.dataPath + "/StreamingAssets/Misiones.txt"), System.Text.Encoding.UTF8);

        //Busca el nombre en clave y el numero
        string [] partes = new string[1];
        do
        {
            partes = file.ReadLine().Split('-');
        }while(!file.EndOfStream && ((partes[0] != nombrePersonaje) ||
                                     (partes[0] == nombrePersonaje && int.Parse(partes[1]) != indiceMision) ||
                                     (partes[0] == nombrePersonaje && int.Parse(partes[1]) == indiceMision && !(int.Parse(partes[3]) <= GameManager.instance.trimestre))));
        if (!file.EndOfStream)
        {
            DecodificaMision(file, partes);
        }
        else
        {
            tipoDeMision = TipoDeMision.None;
            isAcepted    = false;
            isComplete   = false;
        }
        file.Close();
    }
Esempio n. 2
0
    //Decodifica la mision
    void DecodificaMision(StreamReader file, string [] partes)
    {
        //Tipo de mision: None = 0, Espionaje = 1, DarObjeto = 2.
        tipoDeMision = (TipoDeMision)int.Parse(partes[2]);
        //Asignamos el titulo de la mision si la mision no es de tipo None
        if (tipoDeMision != TipoDeMision.None)
        {
            tituloDeLaMision = partes [4];
        }
        else
        {
            tituloDeLaMision = null;
        }
        //Comenzamos decodificacion de los textos
        if (!file.EndOfStream)
        {
            //Depende del tipo de mision decofificamos de una forma u otra
            //Hasta que encuentre el final con ""
            string linea = file.ReadLine();
            while (linea != "" && linea != null && !file.EndOfStream)
            {
                string[] aux;
                switch (linea)
                {
                //Usaremos # como marca de que empieza y termina la conversación
                //y ## como marca de que empiezan y terminan los pasos.
                case "#":
                    linea = file.ReadLine();
                    do
                    {
                        conversacion.Enqueue(linea);
                        linea = file.ReadLine();
                    } while(linea != "#");
                    break;

                //Para los pasos
                case "##":
                    aux = file.ReadLine().Split(':');
                    do
                    {
                        Pasos p = new Pasos();
                        p.lineaPaso = aux [0];
                        p.tagObjeto = aux [1];
                        pasos.Enqueue(p);
                        aux = file.ReadLine().Split(':');
                        //Si es de Espionaje, decodificará la conversación que se espia
                        DecodConversacionEspia(ref aux, p, file);
                    } while(aux [0] != "##");
                    break;

                case "###":
                    linea = file.ReadLine();
                    do
                    {
                        finMision.Enqueue(linea);
                        linea = file.ReadLine();
                    } while(linea != "###");
                    break;
                }
                linea = file.ReadLine();
            }
            conversacion.Enqueue(null);
            finMision.Enqueue(null);
            pasos.Enqueue(null);
        }
        else
        {
            tipoDeMision = TipoDeMision.None;
        }
    }