using Newtonsoft.Json; using XGame.Framework.Serialization; namespace etoy { /// /// 序列化用属性对象 /// 不能反序列化 /// class SerializableField : ISerializable { public string fieldType; public string fieldName; public bool isRepeated; public string value; void ISerializable.Deserialize(IReader reader) { throw new NotImplementedException(); } void ISerializable.Serialize(IWriter writer) { switch (fieldType) { case FieldTypeDefine.Boolean: if (isRepeated) { writer.Write(JsonConvert.DeserializeObject(value)); } else { writer.Write(value == "1" || value == "true"); } break; case FieldTypeDefine.Int: if (isRepeated) { writer.Write(JsonConvert.DeserializeObject(value)); } else { writer.Write(int.Parse(value)); } break; case FieldTypeDefine.Long: if (isRepeated) { writer.Write(JsonConvert.DeserializeObject(value)); } else { writer.Write(long.Parse(value)); } break; case FieldTypeDefine.Float: if (isRepeated) { writer.Write(JsonConvert.DeserializeObject(value)); } else { writer.Write(float.Parse(value)); } break; case FieldTypeDefine.Double: if (isRepeated) { writer.Write(JsonConvert.DeserializeObject(value)); } else { writer.Write(double.Parse(value)); } break; case FieldTypeDefine.String: if (isRepeated) { writer.Write(JsonConvert.DeserializeObject(value)); } else { writer.Write(value); } break; } } } }