Ответ: Вопросы от новичка
Пытаюсь смастерить свой Dictionary, который умеет сериализироваться

[Serializable]
public class DictionarySerializable<K, V> : IEnumerable<KVPSerializable<K, V>> {
[SerializeField] protected List<KVPSerializable<K, V>> list = new List<KVPSerializable<K, V>>();
public int Count {get{return list.Count;}}
protected void Add(K Key, V Value){
list.Add(new KVPSerializable<K, V>{Key = Key, Value = Value});
}
public void Remove(K Key){
list.Remove(Find(Key));
}
public V this[K Key]{
get {return Find(Key).Value;}
set {
bool finded = false;
foreach (var v in list){
if (v.Key.Equals(Key)){v.Value = value; finded = true; break;}
}
if (!finded){Add(Key, value);}
}
}
public KVPSerializable<K, V> Find(K Key){
foreach (var v in list){
if (v.Key.Equals(Key)){return v;}
}
throw new System.InvalidOperationException();
}
public IEnumerator<KVPSerializable<K, V>> GetEnumerator(){
foreach (var v in list){
yield return v;
}
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(){
return this.GetEnumerator();
}
}
[Serializable]
public class KVPSerializable<K, V> {
public K Key; public V Value;
}
EditorGUI.BeginChangeCheck();
foreach (var v in myTarget.dict){
....
v.Value.strength = EditorGUILayout.IntField(v.Value.strength);
....
}
if (EditorGUI.EndChangeCheck()){
EditorUtility.SetDirty(target);
}
Но он не сериализируется (при запуске "игры" и при выходе с нее - данные сбрасываются)
Не могу понять где налажал
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|