예제 #1
0
    // Update is called once per frame
    private void InitializeSettings()
    {
        // Create list of languages
        languages = new List <LangItem>();                         // Create new List
        languages.Add(new LangItem("EN", SystemLanguage.English)); // Add English
        languages.Add(new LangItem("RU", SystemLanguage.Russian)); // Add Russian

        // Detect File Exists
        if (File.Exists(_settings_path))            // Language Settings File Exists
        // Here we load language settings from file
        {
            loadSettings(_settings_path);                                 // Load from file and set to instance
        }
        else                                                              // No File, First Run
                                                                          // Here we detect user language for our scripts
        {
            settings          = new LangSettingsModel();                  // Create Lang Settings Model instance for manager
            settings.language = languages [0].code;                       // Default Language
            for (int i = 0; i < languages.Count; i++)                     // Each language items
            {
                if (Application.systemLanguage == languages [i].language) // Detected system language
                {
                    settings.language = languages [i].code;               // Set Language
                    break;                                                // Exit Loop
                }
            }

            // Now, we save detected language
            saveSettings(_settings_path, settings);
        }
    }
예제 #2
0
    // Save Settings
    public void saveSettings(string path, LangSettingsModel data)
    {
        // Save Data to Base64 encoded text file
        string _json_data = JsonUtility.ToJson(data);                   // Convert Data to JSON

        byte[] _bytesToEncode = Encoding.UTF8.GetBytes(_json_data);     // Encode to bytes
        string _encodedText   = Convert.ToBase64String(_bytesToEncode); // Convert Encoded bytes to string

        File.WriteAllText(_settings_path, _encodedText);                // Save datas to file
    }
예제 #3
0
    // Load Language Settings
    public void loadSettings(string path)
    {
        // Load Data from Base64 encoded text file
        string _data = File.ReadAllText(path);                             // Read All Text

        byte[] _decodedBytes = Convert.FromBase64String(_data);            // Decode Data
        string _decodedText  = Encoding.UTF8.GetString(_decodedBytes);     // Get Decoded Data to String

        settings = JsonUtility.FromJson <LangSettingsModel>(_decodedText); // Convert Data to instance by model
    }