2016-03-22 17 views
0

Bu kodu yazdım, ben kaydetmek ve Birlik içine Veri yüklemeye çalıştı.Kaydet ve Yük Veri - Unity3D

using UnityEngine; 
using System.Collections; 
using System; 
using System.Runtime.Serialization.Formatters.Binary; 
using System.IO; 
using System.Collections.Generic; 
using System.Linq; 

public class GameControl : MonoBehaviour 
{ 
    public static GameControl control; 

    public float health =10; 
    public float experience=10; 

    public Dictionary<string, object> Name_Dic = new Dictionary<string, object>() 
    { 
     {"laura",""}, 
     {"steph ",""}, 
     {"Ryan",""},  
    }; 

    void Start() 
    { 
     control = this; 
    } 

    void OnGUI() 
    { 
     GUI.Label(new Rect(10,10,100,30),"Health"+health); 
     GUI.Label(new Rect(10,40,100,30),"Experience"+experience); 
    } 

    public void Save() 
    { 
    BinaryFormatter bf = new BinaryFormatter(); 
    FileStream file = File.Create(Application.persistentDataPath +"/playerInfo.dat"); 

    PlayerData data = new PlayerData(); 
    data.experience = experience; 
    data.health = health; 
    data.Name_Dic = Name_Dic; 

    bf.Serialize(file, data); 

    file.Close(); 
} 

public void Load() 
{ 
    if(File.Exists(Application.persistentDataPath+"/playerInfo.dat")) 
    { 
     BinaryFormatter bf = new BinaryFormatter(); 
     FileStream file = File.Open(Application.persistentDataPath+"/playerInfo.dat",FileMode.Open); 
     PlayerData data = (PlayerData)bf.Deserialize(file); 
     file.Close(); 

     health = data.health; 
     experience = data.experience; 
     Name_Dic = data.Name_Dic; 
    } 
} 
} 

[Serializable] 

class PlayerData 
{ 
public float health; 
public float experience; 

public Dictionary<string, object> Name_Dic = new Dictionary<string, object>() 
{ 
    {"laura",""}, 
    {"steph ",""}, 
    {"Ryan",""},  
}; 

public Dictionary<string, string> Dialogs_Dic = new Dictionary<string, string>() 
{ 
    {"A1", "Hello"}, 
    {"A2", "Nice"}, 
    {"A3", "Test"}, 
}; 

}

sorun i tasarrufu düğmesini tıkladığında i yük düğmesini tıkladığımızda ben bu iki değişken kaydedilmesini FINC çünkü ben sağlık ve deneyimi int kaydetmek artık: İşte benim kodudur ve yüklendi. i düğmesini tıkladığında Sözlük değerleri kaydedilmez veya edilmez kaydederseniz Benim sorunum sözlükle olduğunu biliyorum olamaz. Şimdi, eğer düğme yüküne tıklarsam kaydedilen ve yüklenen fonksiyona tıkladığımda sözlük değerleri kaydedilirse nasıl yapabilirim? Bunun için bir çözüm var, yardımınız için teşekkürler

cevap

0

Sözlük değerleri nasıl olursa şimdi nasıl yapabilirim? kaydedilir ... bu

Evet bir çözüm BinaryReader ile geri okuma ve orijinal değerine karşılaştırarak, var mıdır.