示例#1
0
 public override void SaveContent(ITrwSerializationWriteContext context, Pair <T> value)
 {
     context.Writer.StartArray(TrwValueType.Undefined);
     context.Write(value.First);
     context.Write(value.Second);
     context.Writer.EndArray();
 }
示例#2
0
 public override void SaveContent(ITrwSerializationWriteContext context, Vector2 value)
 {
     context.Writer.StartArray(TrwValueType.Float32);
     context.Writer.WriteValue().Float32(value.X);
     context.Writer.WriteValue().Float32(value.Y);
     context.Writer.EndArray();
 }
示例#3
0
        public override void SaveContent(ITrwSerializationWriteContext context, IAsset value)
        {
            context.WriteProperty("Name", value.Name);
            var assetDict = (IDictionary <string, IAsset>)context.Bag[SaveLoadConstants.AssetDictBagKey];

            assetDict[value.Name] = value;
        }
示例#4
0
        public override void SaveContent(ITrwSerializationWriteContext context, GeneratedResourceSource value)
        {
            var generatedResourceList = (IList <GeneratedResourceSource>)context.Bag[SaveLoadConstants.GeneratedResourcesBagKey];
            var index = generatedResourceList.Count;

            generatedResourceList.Add(value);
            context.WriteProperty("Index", index);
        }
示例#5
0
 public override void SaveContent(ITrwSerializationWriteContext context, TArray value)
 {
     context.Writer.StartArray(TrwValueType);
     foreach (var elem in EnumerateItems(value))
     {
         context.Write(elem);
     }
     context.Writer.EndArray();
 }
示例#6
0
 public override void SaveContent(ITrwSerializationWriteContext context, TObj value)
 {
     foreach (var prop in EnumerateProps(value))
     {
         var name = GetPropName(prop);
         var type = GetPropType(prop);
         var val  = GetPropValue(value, prop);
         context.WriteProperty(name, type, val);
     }
 }
示例#7
0
 public override void SaveContent(ITrwSerializationWriteContext context, Guid value)
 {
     context.Writer.WriteValue().String(value.ToString().ToUpper());
 }
示例#8
0
 public override void SaveContent(ITrwSerializationWriteContext context, TNew value) => context.Write(new2exising(value));
示例#9
0
 public override void SaveContent(ITrwSerializationWriteContext context, bool value) => context.Writer.WriteValue().Bool(value);
示例#10
0
 public override void SaveContent(ITrwSerializationWriteContext context, float value) => context.Writer.WriteValue().Float32(value);
示例#11
0
 public override void SaveContent(ITrwSerializationWriteContext context, Type value) => context.WriteType(value);
 void ITrwSerializationHandler.SaveContent(ITrwSerializationWriteContext context, object value) => SaveContent(context, (T)value);
 public abstract void SaveContent(ITrwSerializationWriteContext context, T value);
示例#14
0
 public override void SaveContent(ITrwSerializationWriteContext context, T value)
 {
     context.WriteProperty("Source", value.Source);
 }
示例#15
0
 public static void WriteProperty(this ITrwSerializationWriteContext context, string name, Type type, object value)
 {
     context.Writer.AddProperty(name);
     context.Write(type, value);
 }
示例#16
0
 public override void SaveContent(ITrwSerializationWriteContext context, string value) => context.Writer.WriteValue().String(value);
示例#17
0
 public static void WriteProperty <T>(this ITrwSerializationWriteContext context, string name, T value)
 {
     context.Writer.AddProperty(name);
     context.Write(value);
 }
示例#18
0
 public override void SaveContent(ITrwSerializationWriteContext context, T?value)
 {
     Debug.Assert(value != null, nameof(value) + " != null");
     context.Write(value.Value);
 }
示例#19
0
 public override void SaveContent(ITrwSerializationWriteContext context, Transform value)
 {
     context.WriteProperty("Scale", value.Scale);
     context.WriteProperty("Rotation", value.Rotation);
     context.WriteProperty("Offset", value.Offset);
 }