Tanoda
pb_Serialization.cs
Go to the documentation of this file.
1using UnityEngine;
2using System.Collections;
3using Newtonsoft.Json;
4
6{
7 public static class pb_Serialization
8 {
9 public static readonly JsonSerializerSettings ConverterSettings = new JsonSerializerSettings
10 {
11 ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
12 ContractResolver = new pb_ContractResolver(),
13 TypeNameHandling = TypeNameHandling.Objects
14 };
15
16 public static readonly JsonSerializer Serializer = JsonSerializer.Create(ConverterSettings);
17
22 public static pb_ISerializable CreateSerializableObject<T>(T obj)
23 {
24 if(obj is UnityEngine.Camera)
25 return (pb_ISerializable) new pb_CameraComponent( obj as Camera );
26
27 if(obj is UnityEngine.MeshFilter)
28 return (pb_ISerializable) new pb_MeshFilter( obj as MeshFilter );
29
30 if(obj is UnityEngine.MeshCollider)
31 return (pb_ISerializable) new pb_MeshCollider( obj as MeshCollider );
32
33 if(obj is UnityEngine.MeshRenderer)
34 return (pb_ISerializable) new pb_MeshRenderer( obj as MeshRenderer );
35
36 return new pb_SerializableObject<T>(obj);
37 }
38 }
39}