Показать сообщение отдельно
Старый 06.08.2012, 00:15   #567
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Буквально на той неделе переписал пример работы с Ini на PlayerPrefs
using System.Collections.Generic;
using System.Text;
using UnityEngine;

public class 
Ini
{
    public static 
void Save(string key, Dictionary<string, string> data)
    {
        
StringBuilder sb = new StringBuilder();

        foreach (
KeyValuePair<string, string> keyValuePair in data)
        {
            
sb.AppendLine(keyValuePair.Key + "=" + keyValuePair.Value);
        }

        
PlayerPrefs.SetString(key, sb.ToString());
    }

    public static 
Dictionary<string, string> Load(string key)
    {
        
Dictionary<string, string> data = new Dictionary<string, string>();

        
string[] lines = PlayerPrefs.GetString(key).Split(new char[]{'\r','\n'});

        foreach (
string line in lines)
        {
            
string dataString = line.Trim();

            if (
string.IsNullOrEmpty(dataString)) continue;

            if (
dataString.StartsWith(";")) continue;

            if (
dataString.Contains("="))
            {
                
int pos = dataString.IndexOf("=");

                
string valueKey = dataString.Substring(0, pos).Trim();
                
string value = "";
                if ((
pos + 1) < dataString.Length)
                {
                    
value = dataString.Substring(pos + 1, dataString.Length - pos - 1).Trim();
                }
                
data.Add(valueKey, value);
            }

        }
        return 
data;
    }
} 
Пример использования:
//Сохранение
var data = new Dictionary<string, string>();
data.Add("Key1","Value1");
Ini.Save("GameSave", data);

//загрузка
data = Ini.Load("GameSave");
var 
Value1 = data["Key1"]; 
Правда PlayerPrefs это и есть простейший ini с поддержкой сохранения целых чисел и флоатов кроме строк. А пример выше - ini в ini ))

PS: На днях поковыряю дроид на счет сохранения файлов, отпишусь.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
Gector (06.08.2012), WISHMASTER35 (06.08.2012)