public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { var instance = (UnityEngine.Transform)targetObject; switch (memberName) { case "parent": instance.parent = internalReader.DeserializeProperty <UnityEngine.Transform>(reader); break; case "position": instance.position = internalReader.DeserializeProperty <UnityEngine.Vector3>(reader); break; case "rotation": instance.rotation = internalReader.DeserializeProperty <UnityEngine.Quaternion>(reader); break; case "localScale": instance.localScale = internalReader.DeserializeProperty <UnityEngine.Vector3>(reader); break; case "hideFlags": instance.hideFlags = internalReader.DeserializeProperty <UnityEngine.HideFlags>(reader); break; default: reader.Skip(); break; } return(instance); }
public override object Create(JsonReader reader, JsonSerializerReader internalReader, JsonObjectContract objectContract, string id, string unityGuid, Type objectType, out bool exit) { Texture2D texture = internalReader.DeserializeProperty <UnityEngine.Texture2D>(reader); Rect textureRect = internalReader.DeserializeProperty <Rect>(reader); Vector2 pivot = internalReader.DeserializeProperty <UnityEngine.Vector2>(reader); float pixelsPerUnit = reader.ReadProperty <float>(); Vector4 border = internalReader.DeserializeProperty <Vector4>(reader); exit = false; return(Sprite.Create(texture, textureRect, pivot, pixelsPerUnit, 0, SpriteMeshType.Tight, border)); }
public override object Populate(JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { Texture2D instance = (Texture2D)targetObject; if (instance == null) { int width = reader.ReadProperty <int>(); int height = reader.ReadProperty <int>(); TextureFormat format = internalReader.DeserializeProperty <TextureFormat>(reader); int mipmapCount = reader.ReadProperty <int>(); instance = new Texture2D(width, height, format, mipmapCount > 1); } foreach (string propertyName in GetProperties(reader, internalReader)) { switch (propertyName) { case "anisoLevel": instance.anisoLevel = reader.ReadProperty <int>(); break; case "filterMode": instance.filterMode = internalReader.DeserializeProperty <FilterMode>(reader); break; case "wrapMode": instance.wrapMode = internalReader.DeserializeProperty <TextureWrapMode>(reader); break; case "mipMapBias": instance.mipMapBias = reader.ReadProperty <float>(); break; case "rawTextureData": // LoadRawTextureData requires that the correct width, height, TextureFormat and mipMaps are set before being called. // If an error occurs here, it's likely that we're using LoadInto to load into a Texture which differs in these values. // In this case, LoadInto should be avoided and Load should be used instead. instance.LoadRawTextureData(reader.ReadProperty <byte[]>()); instance.Apply(); break; default: reader.Skip(); break; } } return(targetObject); }
public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { var instance = (UnityEngine.MeshFilter)targetObject; switch (memberName) { case "sharedMesh": instance.sharedMesh = internalReader.DeserializeProperty <UnityEngine.Mesh>(reader); break; case "hideFlags": instance.hideFlags = internalReader.DeserializeProperty <UnityEngine.HideFlags>(reader); break; default: reader.Skip(); break; } return(instance); }
public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { if (objectType == typeof(Bounds)) { Bounds bounds = (Bounds)targetObject; switch (memberName) { case "center": bounds.center = internalReader.DeserializeProperty <Vector3>(reader); break; case "size": bounds.size = internalReader.DeserializeProperty <Vector3>(reader); break; default: reader.Skip(); break; } return(bounds); } else { BoundsInt bounds = (BoundsInt)targetObject; switch (memberName) { case "position": bounds.position = internalReader.DeserializeProperty <Vector3Int>(reader); break; case "size": bounds.size = internalReader.DeserializeProperty <Vector3Int>(reader); break; default: reader.Skip(); break; } return(bounds); } }
public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { var instance = (UnityEngine.AudioClip)targetObject; switch (memberName) { case "name": instance.name = reader.ReadProperty <System.String>(); break; case "hideFlags": instance.hideFlags = internalReader.DeserializeProperty <UnityEngine.HideFlags>(reader); break; case "sampleData": instance.SetData(internalReader.DeserializeProperty <float[]>(reader), 0); break; default: reader.Skip(); break; } return(instance); }
public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { var instance = (UnityEngine.Renderer)targetObject; switch (memberName) { case "sharedMaterials": instance.sharedMaterials = internalReader.DeserializeProperty <UnityEngine.Material[]>(reader); break; default: base.PopulateMember(memberName, contract, reader, objectType, targetObject, internalReader); break; } return(instance); }
public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { var instance = (UnityEngine.Collider)targetObject; switch (memberName) { case "isTrigger": instance.isTrigger = reader.ReadProperty <System.Boolean>(); break; case "contactOffset": instance.contactOffset = reader.ReadProperty <System.Single>(); break; case "sharedMaterial": instance.sharedMaterial = internalReader.DeserializeProperty <UnityEngine.PhysicMaterial>(reader); break; default: base.PopulateMember(memberName, contract, reader, objectType, targetObject, internalReader); break; } return(instance); }
public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { var instance = (UnityEngine.Mesh)targetObject; switch (memberName) { #if UNITY_2017_3 case "indexFormat": instance.indexFormat = internalReader.DeserializeProperty <UnityEngine.Rendering.IndexFormat>(reader); break; #endif case "bindposes": instance.bindposes = internalReader.DeserializeProperty <UnityEngine.Matrix4x4[]>(reader); break; case "subMeshCount": instance.subMeshCount = reader.ReadProperty <System.Int32>(); break; case "bounds": instance.bounds = internalReader.DeserializeProperty <UnityEngine.Bounds>(reader); break; case "vertices": instance.vertices = internalReader.DeserializeProperty <UnityEngine.Vector3[]>(reader); break; case "normals": instance.normals = internalReader.DeserializeProperty <UnityEngine.Vector3[]>(reader); break; case "tangents": instance.tangents = internalReader.DeserializeProperty <UnityEngine.Vector4[]>(reader); break; case "uv": instance.uv = internalReader.DeserializeProperty <UnityEngine.Vector2[]>(reader); break; case "uv2": instance.uv2 = internalReader.DeserializeProperty <UnityEngine.Vector2[]>(reader); break; case "uv3": instance.uv3 = internalReader.DeserializeProperty <UnityEngine.Vector2[]>(reader); break; case "uv4": instance.uv4 = internalReader.DeserializeProperty <UnityEngine.Vector2[]>(reader); break; case "colors": instance.colors = internalReader.DeserializeProperty <UnityEngine.Color[]>(reader); break; case "colors32": instance.colors32 = internalReader.DeserializeProperty <UnityEngine.Color32[]>(reader); break; case "triangles": var triangles = internalReader.DeserializeProperty <System.Int32[][]>(reader); for (int i = 0; i < triangles.GetLength(0); i++) { instance.SetTriangles(triangles[i], i); } break; case "indices": var indices = internalReader.DeserializeProperty <SerializedIndices[]>(reader); for (int i = 0; i < indices.GetLength(0); i++) { instance.SetIndices(indices[i].indices, indices[i].meshTopology, i); } break; case "boneWeights": instance.boneWeights = internalReader.DeserializeProperty <UnityEngine.BoneWeight[]>(reader); break; case "name": instance.name = reader.ReadProperty <System.String>(); break; case "hideFlags": instance.hideFlags = internalReader.DeserializeProperty <UnityEngine.HideFlags>(reader); break; default: reader.Skip(); break; } return(instance); }
public override object PopulateMember(string memberName, JsonContract contract, JsonReader reader, Type objectType, object targetObject, JsonSerializerReader internalReader) { Material material = (Material)targetObject; switch (memberName) { case "shader": Shader shader = internalReader.DeserializeProperty <Shader>(reader); if (material == null) { material = new Material(shader); } else { material.shader = shader; } break; case "name": material.name = reader.ReadProperty <string>(); break; case "shaderKeywords": material.shaderKeywords = internalReader.DeserializeProperty <string[]>(reader); break; case "renderQueue": material.renderQueue = reader.ReadProperty <int>(); break; case "globalIlluminationFlag": material.globalIlluminationFlags = internalReader.DeserializeProperty <MaterialGlobalIlluminationFlags>(reader); break; case "color": material.color = internalReader.DeserializeProperty <Color>(reader); break; case "doubleSidedGI": material.doubleSidedGI = reader.ReadProperty <bool>(); break; case "enableInstancing": material.enableInstancing = reader.ReadProperty <bool>(); break; case "mainTexture": material.mainTexture = internalReader.DeserializeProperty <Texture2D>(reader); break; case "mainTextureOffset": material.mainTextureOffset = internalReader.DeserializeProperty <Vector2>(reader); break; case "mainTextureScale": material.mainTextureScale = internalReader.DeserializeProperty <Vector2>(reader); break; case MaterialPropertiesName: List <JsonSerializedMaterialProperty> serializedProperties = internalReader.DeserializeProperty <List <JsonSerializedMaterialProperty> >(reader); foreach (JsonSerializedMaterialProperty serializedProperty in serializedProperties) { if (serializedProperty.value != null) { switch (serializedProperty.type) { case RuntimeMaterialPropertyType.Color: material.SetColor(serializedProperty.name, (Color)serializedProperty.value); break; case RuntimeMaterialPropertyType.Vector: material.SetVector(serializedProperty.name, (Vector4)serializedProperty.value); break; case RuntimeMaterialPropertyType.Float: material.SetFloat(serializedProperty.name, (float)Convert.ChangeType(serializedProperty.value, typeof(float))); break; case RuntimeMaterialPropertyType.Range: material.SetFloat(serializedProperty.name, (float)Convert.ChangeType(serializedProperty.value, typeof(float))); break; case RuntimeMaterialPropertyType.Texture: material.SetTexture(serializedProperty.name, (Texture)serializedProperty.value); break; } } } break; default: reader.Skip(); break; } return(material); }