Exemplo n.º 1
0
    public UniGameResources.LanguageDefine SelectCurrentLanguage(UniGameResources.LanguageDefine DefineLanguage,
                                                                 UniGameResources.LanguageDefine LoaclLanguage,
                                                                 UniGameResources.LanguageDefine SystemLanguage,
                                                                 Dictionary <uint, UniGameResources.LanguageDefine> LanguageDefineList)
    {
        //首先给LUA建立表
        List <UniGameResources.LanguageDefine> tlist = new List <UniGameResources.LanguageDefine>(32);

        Dictionary <uint, UniGameResources.LanguageDefine> .Enumerator list = LanguageDefineList.GetEnumerator();
        while (list.MoveNext())
        {
            tlist.Add(list.Current.Value);
        }
        list.Dispose();
        object[] parameters = new object[tlist.Count];
        for (int i = 0; i < tlist.Count; i++)
        {
            parameters[i] = (object)(tlist[i].languageId);
        }
        NewLuaTable("LanguageList", parameters);
        uint selId = CallLuaMethod_UInt32(SelectCurrentLanguageRef, DefineLanguage.languageId, LoaclLanguage.languageId, SystemLanguage.languageId);

        UniGameResources.LanguageDefine ret;
        if (!LanguageDefineList.TryGetValue(selId, out ret))
        {
            return(new UniGameResources.LanguageDefine());
        }
        return(ret);
    }
    public static void LoadGameOptionsDefaultInfo(string fileName, UniGameResources gameResources)
    {
        XmlDocument doc  = gameResources.LoadResource_PublicXmlFile(fileName);
        XmlNode     root = doc.SelectSingleNode("GameOptions");

        XmlNode node = root.SelectSingleNode("GameDifficulty");

        switch (node.Attribute("difficulty"))
        {
        case "Simpleness":
            defaultGameDifficulty = GameDifficulty.Difficulty_Simpleness;
            break;

        case "Normal":
            defaultGameDifficulty = GameDifficulty.Difficulty_Normal;
            break;

        case "Difficulty":
            defaultGameDifficulty = GameDifficulty.Difficulty_Difficulty;
            break;

        default:
            defaultGameDifficulty = GameDifficulty.Difficulty_Normal;
            break;
        }

        node = root.SelectSingleNode("Language");
        if (!gameResources.FindLanguageDefine(UniGameResources.LanguageDefine.LanguageNameToLanguageId(node.Attribute("name")), out defaultGameLanguage))
        {
            defaultGameLanguage = gameResources.GetDefineLanguage();
        }

        node = root.SelectSingleNode("GameVolume");
        defaultGameVolume         = Convert.ToSingle(node.Attribute("volume"));
        defaultStandByMusicVolume = Convert.ToSingle(node.Attribute("standbymusicvolume"));


        node = root.SelectSingleNode("GameResolution");
        if (node.Attribute("resolution") == GameResolution.Resolution_Default.ToString())
        {
            defaultGameResolution = GameResolution.Resolution_Default;
        }
        else if (node.Attribute("resolution") == GameResolution.Resolution_16_9_1920_1080.ToString())
        {
            defaultGameResolution = GameResolution.Resolution_16_9_1920_1080;
        }
        else if (node.Attribute("resolution") == GameResolution.Resolution_16_9_1600_900.ToString())
        {
            defaultGameResolution = GameResolution.Resolution_16_9_1600_900;
        }
        else if (node.Attribute("resolution") == GameResolution.Resolution_16_9_1280_720.ToString())
        {
            defaultGameResolution = GameResolution.Resolution_16_9_1280_720;
        }
        else
        {
            defaultGameResolution = GameResolution.Resolution_Default;
        }
    }