Example #1
0
    public void OnEnable()
    {
        CylinderTargetAbstractBehaviour target = (CylinderTargetAbstractBehaviour)base.target;

        if (QCARUtilities.GetPrefabType(target) != PrefabType.Prefab)
        {
            if (!SceneManager.Instance.SceneInitialized)
            {
                SceneManager.Instance.InitScene();
            }
            IEditorCylinderTargetBehaviour ct = target;
            if (!ct.InitializedInEditor && !EditorApplication.isPlaying)
            {
                ConfigData.CylinderTargetData data;
                ConfigDataManager.Instance.GetConfigData("--- EMPTY ---").GetCylinderTarget("--- EMPTY ---", out data);
                ct.SetDataSetPath("--- EMPTY ---");
                ct.SetNameForTrackable("--- EMPTY ---");
                UpdateAspectRatio(ct, data);
                UpdateScale(ct, data.sideLength);
                ct.SetInitializedInEditor(true);
            }
            else if (!EditorApplication.isPlaying)
            {
                CheckMesh(ct);
            }
            ct.SetPreviousScale(target.transform.localScale);
        }
    }
    // Initializes the Cylinder Target when it is drag-dropped into the scene.
    public void OnEnable()
    {
        var ctb = (CylinderTargetBehaviour)target;

        // We don't want to initialize if this is a prefab.
        if (QCARUtilities.GetPrefabType(ctb) == PrefabType.Prefab)
        {
            return;
        }

        // Make sure the scene and config.xml file are synchronized.
        if (!SceneManager.Instance.SceneInitialized)
        {
            SceneManager.Instance.InitScene();
        }

        IEditorCylinderTargetBehaviour editorCtb = ctb;

        // Only setup target if it has not been set up previously.
        if (!editorCtb.InitializedInEditor && !EditorApplication.isPlaying)
        {
            ConfigData.CylinderTargetData ctConfig;

            ConfigData dataSetData = ConfigDataManager.Instance.GetConfigData(QCARUtilities.GlobalVars.DEFAULT_DATA_SET_NAME);
            dataSetData.GetCylinderTarget(QCARUtilities.GlobalVars.DEFAULT_TRACKABLE_NAME, out ctConfig);

            editorCtb.SetDataSetPath(QCARUtilities.GlobalVars.DEFAULT_DATA_SET_NAME);
            editorCtb.SetNameForTrackable(QCARUtilities.GlobalVars.DEFAULT_TRACKABLE_NAME);

            UpdateAspectRatio(editorCtb, ctConfig);
            UpdateScale(editorCtb, ctConfig.sideLength);
            editorCtb.SetInitializedInEditor(true);
        }
        else if (!EditorApplication.isPlaying)
        {
            CheckMesh(editorCtb);
        }

        // Cache the current scale of the target:
        editorCtb.SetPreviousScale(ctb.transform.localScale);
    }