コード例 #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);
コード例 #12
0
 void ITrwSerializationHandler.SaveContent(ITrwSerializationWriteContext context, object value) => SaveContent(context, (T)value);
コード例 #13
0
 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);
 }