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)); }