public void OnEnable()
        {
            ImageTargetAbstractBehaviour arg_22_0 = (ImageTargetAbstractBehaviour)base.target;

            this.mSerializedObject = new SerializedImageTarget(base.serializedObject);
            ImageTargetEditor.EditorConfigureTarget(arg_22_0, this.mSerializedObject);
        }
        internal static void UpdateMaterial(SerializedImageTarget serializedObject)
        {
            Material material = serializedObject.GetMaterial();

            material = ImageTargetEditor.UpdateMaterial(serializedObject.GetDataSetName(), serializedObject.TrackableName, serializedObject.ImageTargetType, material);
            serializedObject.SetMaterial(material);
        }
 public static void EditorConfigureTarget(ImageTargetAbstractBehaviour itb, SerializedImageTarget serializedObject)
 {
     if (itb == null)
     {
         Debug.LogError("ImageTargetAbstractBehaviour parameter is null !");
         return;
     }
     if (VuforiaUtilities.GetPrefabType(itb) == PrefabType.Prefab)
     {
         return;
     }
     if (!SceneManager.Instance.SceneInitialized)
     {
         SceneManager.Instance.InitScene();
     }
     using (serializedObject.Edit())
     {
         if (!serializedObject.InitializedInEditor && !EditorApplication.isPlaying)
         {
             ConfigData.ImageTargetData imageTargetData;
             ConfigDataManager.Instance.GetConfigData("--- EMPTY ---").GetImageTarget("--- EMPTY ---", out imageTargetData);
             serializedObject.DataSetPath   = "--- EMPTY ---";
             serializedObject.TrackableName = "--- EMPTY ---";
             ImageTargetEditor.UpdateAspectRatio(serializedObject, imageTargetData.size);
             ImageTargetEditor.UpdateScale(serializedObject, imageTargetData.size);
             ImageTargetEditor.UpdateMaterial(serializedObject);
             serializedObject.InitializedInEditor = true;
         }
         else if (!EditorApplication.isPlaying)
         {
             ImageTargetEditor.CheckMesh(serializedObject);
         }
     }
 }
 internal static void UpdateAspectRatio(SerializedImageTarget it, Vector2 size)
 {
     it.AspectRatio = size[1] / size[0];
     using (List <ImageTargetAbstractBehaviour> .Enumerator enumerator = it.GetBehaviours().GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ImageTargetEditor.UpdateMesh(enumerator.Current.gameObject, it.AspectRatio);
         }
     }
 }
        private static void UpdateDataSetAppearance(SerializedImageTarget serializedObject)
        {
            ConfigData configData = ConfigDataManager.Instance.GetConfigData(serializedObject.GetDataSetName());

            if (configData.ImageTargetExists(serializedObject.TrackableName))
            {
                ConfigData.ImageTargetData imageTargetData;
                configData.GetImageTarget(serializedObject.TrackableName, out imageTargetData);
                ImageTargetEditor.UpdateAspectRatio(serializedObject, imageTargetData.size);
                ImageTargetEditor.UpdateScale(serializedObject, imageTargetData.size);
            }
            ImageTargetEditor.UpdateMaterial(serializedObject);
        }
 private static void CheckMesh(SerializedImageTarget serializedObject)
 {
     using (List <ImageTargetAbstractBehaviour> .Enumerator enumerator = serializedObject.GetBehaviours().GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             GameObject gameObject = enumerator.Current.gameObject;
             MeshFilter component  = gameObject.GetComponent <MeshFilter>();
             if ((component == null || component.sharedMesh == null) && !serializedObject.AspectRatioProperty.hasMultipleDifferentValues)
             {
                 ImageTargetEditor.UpdateMesh(gameObject, serializedObject.AspectRatio);
             }
         }
     }
     if (!serializedObject.DataSetPathProperty.hasMultipleDifferentValues && !serializedObject.TrackableNameProperty.hasMultipleDifferentValues)
     {
         ImageTargetEditor.UpdateMaterial(serializedObject);
     }
 }
 internal static void UpdateScale(SerializedImageTarget serializedObject, Vector2 size)
 {
     foreach (ImageTargetAbstractBehaviour current in serializedObject.GetBehaviours())
     {
         float num = current.GetSize()[0] / size[0];
         if (serializedObject.AspectRatio <= 1f)
         {
             current.transform.localScale = new Vector3(size[0], size[0], size[0]);
         }
         else
         {
             current.transform.localScale = new Vector3(size[1], size[1], size[1]);
         }
         if (serializedObject.PreserveChildSize)
         {
             foreach (Transform transform in current.transform)
             {
                 transform.localPosition = new Vector3(transform.localPosition.x * num, transform.localPosition.y * num, transform.localPosition.z * num);
                 transform.localScale    = new Vector3(transform.localScale.x * num, transform.localScale.y * num, transform.localScale.z * num);
             }
         }
     }
 }
 public ImageTargetAccessor(ImageTargetAbstractBehaviour target)
 {
     this.mTarget           = target;
     this.mSerializedObject = new SerializedImageTarget(new SerializedObject(this.mTarget));
 }