private object GetTransformPropertyValue(Transform transform)
{
if (transform == null) return null;
Dictionary<string, object> position = new Dictionary<string, object>();
position.Add("x", transform.localPosition.x);
position.Add("y", transform.localPosition.y);
position.Add("z", transform.localPosition.z);
Dictionary<string, object> rotation = new Dictionary<string, object>();
rotation.Add("x", transform.localRotation.x);
rotation.Add("y", transform.localRotation.y);
rotation.Add("z", transform.localRotation.z);
Dictionary<string, object> scale = new Dictionary<string, object>();
scale.Add("x", transform.localScale.x);
scale.Add("y", transform.localScale.y);
scale.Add("z", transform.localScale.z);
Dictionary<string, object> transformInfo = new Dictionary<string, object>();
transformInfo.Add("type", transform.GetType().FullName);
transformInfo.Add("id", GetID(transform.gameObject));
transformInfo.Add("position", position);
transformInfo.Add("rotation", rotation);
transformInfo.Add("scale", scale);
return transformInfo;
}