public void OnAfterDeserialize() { // Unity has just written new data into the serializedNodes field. // let's populate our actual runtime data with those new values. if (null == this.serializableRandomizations) { return; } this.randomizations = new List <IVariableRandomization> (); for (var i = 0; i < this.serializableRandomizations.Count; ++i) { var s = this.serializableRandomizations[i]; var r = new UniversalBase64DeSerializer(s.data).Data; this.randomizations.Insert(s.index, (IVariableRandomization)r); } }
public void OnBeforeSerialize() { // unity is about to read the serializedNodes field's contents. lets make sure // we write out the correct data into that field "just in time". if (null == this.randomizations) { return; } this.serializableRandomizations = new List <VariableRandomizationSerializable> (); for (var i = 0; i < this.randomizations.Count; ++i) { var r = this.randomizations[i]; var data = new UniversalBase64DeSerializer(r).Serialized; this.serializableRandomizations.Add(new VariableRandomizationSerializable() { index = i, data = data }); } }