/// <summary> /// Devuelve el valor de un string, dependiendo del idioma seleccionado en las opciones del juego /// </summary> /// <param name="tag">Identificador del texto deseado</param> /// <returns>string deseado</returns> public static string GetString(TEXT_TAG tag) { try { return(stringsDictionary[tag]); } catch (KeyNotFoundException knfe) { Debug.LogWarning("No se pudo encontrar el string en el diccionario" + "\nSe ha producido una excepcion: " + knfe.ToString() + "\n" + knfe.HelpLink + " KEY: " + tag); return(LoadString(tag)); } }
/// <summary> /// Carga un string desde el fichero xml teniendo en cuenta el idioma seleccionado en la configuracion. /// </summary> /// <param name="tag">Identificador del texto a cargar</param> /// <returns>string deseado</returns> private static string LoadString(TEXT_TAG tag) { TextAsset txtXml; XmlDocument doc = new XmlDocument(); XmlNode node; try { txtXml = Resources.Load <TextAsset>("texts/" + GetStringsFileNameByLanguage()); //Obtiene el fichero xml en funcion del idioma doc.LoadXml(txtXml.text); //Carga el documento xml node = doc.DocumentElement.SelectSingleNode("//string[@id='" + tag + "']"); //Obtiene el nodo con Xpath return(node.InnerText); } catch (NullReferenceException nre) { Debug.LogError("No se ha encontrado el fichero xml del idioma: " + GameManager.Instance.Data.Language + "\n" + nre.ToString() + ", " + nre.HelpLink); return(""); } }
/// <summary> /// Devuelve un string con la informacion del nivel. /// </summary> /// <returns>string con la informacion del nivel</returns> public string GetLevelBlockedInfoString() { TEXT_TAG tag = GM.SelectedLevelIndex != 4 ? TEXT_TAG.TXT_LEVEL_BLOCKED_INFO : TEXT_TAG.TXT_SPECIAL_LEVEL_BLOCKED_INFO; return(Strings.GetString(tag)); }