Exemplo n.º 1
0
    // Chamada por AcoesJogador.cs, ao escolher uma das opcoes ao encontrar um NPC

    public void GetAction(string npcName, GameObject eventTrigger)
    {
        for (int i = 0; i < listaDados.Count; i++)
        {
            if (listaDados[i].nome == npcName)
            {
                dialogoRecente = listaDados[i];
                foreach (XmlNode eventoInfo in listaDados[i].eventos)
                {
                    XmlNodeList conteudoEventos = eventoInfo.ChildNodes;

                    bool condicaoSatisfeita = false;

                    foreach (XmlNode noEvento in conteudoEventos)                     // levels itens nodes.
                    {
                        if (noEvento.Name == "condicoes")
                        {
                            XmlNodeList condicoes = noEvento.ChildNodes;
                            foreach (XmlNode condicao in condicoes)
                            {
                                condicaoSatisfeita = VerificaCondicao(condicao);

                                /*if(condicao.Attributes["tipo"].Value == "variavel")
                                 * {
                                 *      string valor = GetVariavel(int.Parse(listaDados[i].fase),condicao.Attributes["nome"].Value,condicao.Attributes["valor"].Value);
                                 *
                                 *      print ("Valor condicao encontrada : " + valor + " valor real da condicao: " + condicao.Attributes["valor"].Value);
                                 *      if(condicao.Attributes["valor"].Value == valor) condicaoSatisfeita = true;
                                 *      else
                                 *      {
                                 *              print ("nao satisfeita");
                                 *              condicaoSatisfeita = false;
                                 *              break;
                                 *      }
                                 * }*/
                            }
                        }
                        else if ((noEvento.Name == "acoes") && condicaoSatisfeita)
                        {
                            XmlNodeList acoes = noEvento.ChildNodes;
                            RealizarAcoes(acoes, eventTrigger);
                        }
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
        public Preferences(string sData)
        {
            XmlDocument cXmlDocument = new XmlDocument();

            cXmlDocument.LoadXml(sData);
            XmlNode cXmlNode = cXmlDocument.NodeGet("data");

            DataXML cSourceData = new DataXML(cXmlNode);

            _aWeatherItems = Data.WeatherItem.LoadItems(cSourceData.cYandexData);
            if (_aWeatherItems.Count < 2)
            {
                throw new Exception("There are must be more than 1 weather items. Add some other cities");
            }

            _cRoll = new Roll(cXmlNode.NodeGet("roll"));

            _ahItems = Item.DictionaryGet(cXmlNode);
        }
Exemplo n.º 3
0
        public void SaveData(string filename, DataXML saveData)
        {
            var documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
            var filePath = Path.Combine(documentsPath, filename);
            var serializer = new SharpSerializer();
            Stream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.None);
            BinaryFormatter formatter = new BinaryFormatter();
            try
            {
                serializer.Serialize(saveData, fileStream);
            }
			catch (Exception e)
            {
                Console.WriteLine("Failed to serialize. Reason: " + e.Message);
                throw;
            }
            finally
            {
                fileStream.Close();
            }
        }
Exemplo n.º 4
0
    public void ReadAllXmlData()
    {
        for (int i = 0; i < nomesArquivos.Length; i++)
        {
            //XmlReaderSettings readerSettings = new XmlReaderSettings();
            //readerSettings.IgnoreComments = true;

            /*using (XmlReader reader = XmlReader.Create(nomesArquivos[i], readerSettings))
             * {
             *      XmlDocument xmlDoc = new XmlDocument();
             *      xmlDoc.Load(reader);*/

            TextAsset   textAsset = (TextAsset)Resources.Load(nomesArquivos[i], typeof(TextAsset));
            XmlDocument xmlDoc    = new XmlDocument();
            xmlDoc.LoadXml(textAsset.text);

            DataXML     data         = new DataXML();
            XmlNodeList propriedades = xmlDoc.GetElementsByTagName("propriedades");
            foreach (XmlNode nosPropriedades in propriedades)
            {
                foreach (XmlNode propriedade in nosPropriedades)
                {
                    if (propriedade.Name == "cor_texto")
                    {
                        int red   = 0;
                        int green = 0;
                        int blue  = 0;

                        foreach (XmlNode tipoCor in propriedade)
                        {
                            if (tipoCor.Name == "red")
                            {
                                red = int.Parse(tipoCor.InnerText);
                            }
                            else if (tipoCor.Name == "green")
                            {
                                green = int.Parse(tipoCor.InnerText);
                            }
                            else if (tipoCor.Name == "blue")
                            {
                                blue = int.Parse(tipoCor.InnerText);
                            }
                        }

                        /*float redF = red / 255f;
                         * float greenF = green / 255f;
                         * float blueF = blue / 255f;*/

                        data.corTexto = new Color(red, green, blue, 255);
                    }
                    else if (propriedade.Name == "nome")
                    {
                        data.nome = propriedade.InnerText;
                    }
                    else if (propriedade.Name == "fase")
                    {
                        data.fase = propriedade.InnerText;
                    }
                }
            }

            data.dialogos = xmlDoc.GetElementsByTagName("dialogo");
            data.eventos  = xmlDoc.GetElementsByTagName("interacao");
            listaDados.Add(data);
            // etc...
            //}
        }
    }