public static void EditorConfigureTarget(VirtualButtonAbstractBehaviour vb) { if (vb == null) { Debug.LogError("VirtualButtonAbstractBehaviour parameter is null !"); return; } if (VuforiaUtilities.GetPrefabType(vb) == PrefabType.Prefab) { return; } if (!SceneManager.Instance.SceneInitialized) { SceneManager.Instance.InitScene(); } if (!EditorApplication.isPlaying) { if (!vb.HasUpdatedPose) { vb.UpdatePose(); } if (!VirtualButtonEditor.IsVBMeshCreated(vb)) { VirtualButtonEditor.CreateVBMesh(vb.gameObject); } VirtualButtonEditor.Validate(); } }
private static void AddVirtualButton(ImageTargetAbstractBehaviour it, ConfigData.VirtualButtonData vb) { VirtualButtonAbstractBehaviour virtualButtonAbstractBehaviour = it.CreateVirtualButton(vb.name, new Vector2(0f, 0f), new Vector2(1f, 1f)); if (virtualButtonAbstractBehaviour != null) { SerializedObject serializedObject = new SerializedObject(virtualButtonAbstractBehaviour); using (serializedObject.Edit()) { VirtualButtonEditor.GetSensitivityProperty(serializedObject).enumValueIndex = (int)vb.sensitivity; } virtualButtonAbstractBehaviour.SetPosAndScaleFromButtonArea(new Vector2(vb.rectangle[0], vb.rectangle[1]), new Vector2(vb.rectangle[2], vb.rectangle[3])); VirtualButtonEditor.CreateVBMesh(virtualButtonAbstractBehaviour.gameObject); VirtualButtonEditor.CreateMaterial(virtualButtonAbstractBehaviour.gameObject); virtualButtonAbstractBehaviour.enabled = vb.enabled; BehaviourComponentFactory.Instance.AddTurnOffBehaviour(virtualButtonAbstractBehaviour.gameObject); virtualButtonAbstractBehaviour.UpdatePose(); return; } Debug.LogError("VirtualButton could not be added!"); }