private static IAsset CreateInstance(SerializableType type, int depth)
 {
     if (IsEngineStruct(type.Namespace, type.Name))
     {
         return(CreateEngineAsset(type.Name));
     }
     if (type.IsEnginePointer())
     {
         return(new SerializablePointer());
     }
     return(new SerializableStructure(type, depth));
 }
 private static ISerializableStructure CreateComplexStructure(SerializableType type, int depth)
 {
     if (IsEngineStruct(type.Namespace, type.Name))
     {
         return(SerializableStructure.EngineTypeToScriptStructure(type.Name));
     }
     if (type.IsEnginePointer())
     {
         return(new SerializablePointer(type));
     }
     return(ForceCreateComplexStructure(type, depth));
 }