Esempio n. 1
0
 IEnumerator AddARObject(GameObject model, string _id)
 {
     if (DataUtility.TrackingMode == ARTrackingMode.Markerless && !_kudanTracker.ArbiTrackIsTracking())
     {
         DelayPlaceObject();
         yield return(new WaitUntil(_kudanTracker.ArbiTrackIsTracking));
     }
     try
     {
         GameObject target = Instantiate(model);
         objlist.Add(target);
         ARProduct m = null;
         if (DataUtility.TrackingMode == ARTrackingMode.Marker)
         {
             m = DataUtility.InitARObject(target, markerTransform);
         }
         else
         {
             _kudanTracker.FloorPlaceGetPose(out trackPos, out trackRot);
             m = DataUtility.InitARObject(target, markerlessTransform);
         }
         if (m != null)
         {
             m.SKU = _id;
             SetCurrentObject(m);
         }
     }
     catch (System.Exception ex)
     {
         TestCenter.Singleton.Log("error: " + ex.Message);
     }
 }
Esempio n. 2
0
        public void SetCurrentObject(ARProduct obj, SelectState st = SelectState.Actived)
        {
            if (currentObj != null)
            {
                if (currentObj == obj)
                {
                    currentObj.Selected = st;
                    return;
                }
                else
                {
                    currentObj.Selected = SelectState.None;
                }
            }
            currentObj = obj;


            if (currentObj != null)
            {
                currentObj.Selected = st;
            }
            //---Stripped down version---0818
            //    frame.SetObject(currentObj);
            //    arui.OpenProductMenu();
            //}
            //else
            //{
            //    frame.SetObject(null);
            //    arui.CloseProductMenu();
            //}
        }
Esempio n. 3
0
        void Start()
        {
            if (DataUtility.CurrentObject != null)
            {
                roomObj = Instantiate(DataUtility.CurrentObject.gameObject);
                DataUtility.CurrentObject.gameObject.SetActive(false);
            }
            if (roomObj != null)
            {
                roomObj.transform.parent = room;
                roomObj.SetActive(true);
                ARProduct model = roomObj.GetComponent <ARProduct> ();
                StartCoroutine(SetObjectState(model, SelectState.None));
                selectedObj = roomObj.GetComponent <SceneObject>();
                SceneObject s = DataUtility.CurrentObject.GetComponent <SceneObject> ();
                selectedObj.SetTransform(s.OriginalScale * 4f, s.OriginalRotation);
                PutObjectOnFloor(roomObj.transform);
                SetCamCtrl();
            }
            GameObject lobj = lights.GetCurrentObject();

            if (lobj != null)
            {
                lightText.text = lobj.name;
            }
        }
Esempio n. 4
0
        public void SetAsARObject(GameObject obj)
        {
            obj.transform.parent = markerlessTransform;
            objlist.Add(obj);
            ARProduct m = obj.GetComponent <ARProduct>();

            SetCurrentObject(m);
        }
Esempio n. 5
0
 public void DeleteCurrentObject()
 {
     if (currentObj != null)
     {
         currentObj.Delete();
         objlist.Remove(currentObj.gameObject);
         currentObj = null;
         SetCurrentObject(null);
     }
 }
Esempio n. 6
0
 public void Resume()
 {
     pauseIndex--;
     if (pauseIndex == 0)
     {
         if (storeObj != null)
         {
             currentObj          = storeObj;
             currentObj.Selected = SelectState.Actived;
         }
         _kudanTracker.enabled = true;
     }
 }
Esempio n. 7
0
 public void Pause()
 {
     if (pauseIndex == 0)
     {
         if (currentObj != null)
         {
             storeObj            = currentObj;
             currentObj.Selected = SelectState.None;
             currentObj          = null;
         }
         _kudanTracker.enabled = false;
     }
     pauseIndex++;
 }
Esempio n. 8
0
 public void DeleteSelectedObject(int index, System.Object refer)
 {
     if (index == 0)
     {
         ARProduct ap = refer as ARProduct;
         if (ap != null)
         {
             if (ap == currentObj)
             {
                 DeleteCurrentObject();
             }
             else
             {
                 ap.Delete();
                 objlist.Remove(ap.gameObject);
             }
         }
     }
 }
Esempio n. 9
0
        IEnumerator StripdownAddARObject(GameObject model, string _id)
        {
            while (!_kudanTracker.ArbiTrackIsTracking())
            {
                yield return(new WaitForEndOfFrame());

                waitTime += Time.deltaTime;
                if (waitTime > 0.8f)
                {
                    DelayPlaceObject(0);
                    waitTime = 0;
                }
            }
            loadingUI.Hide();
            GameObject target = Instantiate(model, markerlessTransform);
            ARProduct  m      = DataUtility.InitARObject(target);

            if (m != null)
            {
                objlist.Add(target);
                m.SKU = _id;
                SetCurrentObject(m);
            }
        }
Esempio n. 10
0
 /// <summary>
 /// Start this instance.
 /// </summary>
 public void Init(ARProduct model)
 {
     target = model;
 }
Esempio n. 11
0
        IEnumerator SetObjectState(ARProduct mo, SelectState _state)
        {
            yield return(new WaitForEndOfFrame());

            mo.Selected = _state;
        }