Ejemplo n.º 1
0
        public static void Preload()
        {
            device_  = null;
            reticle_ = null;
            event_   = null;

            root_ = new GameObject("__VRMgr__").transform;
            GameObject.DontDestroyOnLoad(root_.gameObject);

            GameObject objXGaze = Resources.Load <GameObject>("VR/XGaze");

            xgaze_ = GameObject.Instantiate <GameObject>(objXGaze);
            CanvasMgr.Attach3DChild(xgaze_.transform);

            Log.Info("VRMgr", "Preload VRManager finish");
        }
Ejemplo n.º 2
0
        public static SightTrigger NewSightTrigger(string _uuid)
        {
            if (sightTriggers.ContainsKey(_uuid))
            {
                return(sightTriggers[_uuid].GetComponent <SightTrigger>());
            }

            GameObject objTrigger = Resources.Load <GameObject>("trigger/sight_trigger");
            GameObject clone      = Object.Instantiate(objTrigger);

            clone.name = _uuid;
            Transform trigger = clone.transform;

            sightTriggers.Add(_uuid, trigger);

            CanvasMgr.Attach3DChild(trigger);

            AdjustSightTrigger(_uuid);
            return(trigger.GetComponent <SightTrigger>());
        }
Ejemplo n.º 3
0
        //-------------------------------------------

        public static GameObject New3DText(string _uuid)
        {
            if (null != CanvasMgr.FindElement3d(_uuid))
            {
                return(CanvasMgr.FindElement3d(_uuid).gameObject);
            }

            GameObject root_ = new GameObject(_uuid);

            root_.AddComponent <Image>();
            CanvasMgr.Attach3DChild(root_.transform);

            RectTransform panel = root_.GetComponent <RectTransform>();

            panel.sizeDelta     = new Vector2(100, 100);
            panel.localPosition = new Vector3(0, 0, 6);
            panel.localScale    = new Vector3(0.01f, 0.01f, 0.01f);

            GameObject textbox = new GameObject("Page_1");

            textbox.AddComponent <Text>();
            textbox.transform.SetParent(panel);

            RectTransform textTransform = textbox.GetComponent <RectTransform>();

            textTransform.localPosition    = new Vector3(0, 0, 0);
            textTransform.localScale       = new Vector3(1f, 1f, 1f);
            textTransform.sizeDelta        = new Vector2(0, -40);
            textTransform.anchoredPosition = new Vector2(0, 20);
            textTransform.anchorMin        = new Vector2(0, 0);
            textTransform.anchorMax        = new Vector2(1, 1);
            textTransform.pivot            = new Vector2(0.5f, 0.5f);

            Text text = textbox.GetComponent <Text>();

            //text.color = new Color(0, 0, 0);
            text.alignment = TextAnchor.UpperLeft;
            //text.fontSize = 30;

            Font mFont = Resources.Load <Font>("BuxtonSketch");

            text.font = mFont;

            GameObject close = new GameObject("close");

            close.AddComponent <Image>();
            close.AddComponent <Button>();
            close.transform.SetParent(panel);

            RectTransform closeTransform = close.GetComponent <RectTransform>();

            closeTransform.localPosition    = new Vector3(0, 0, 0);
            closeTransform.localScale       = new Vector3(1f, 1f, 1f);
            closeTransform.sizeDelta        = new Vector3(40, 40);
            closeTransform.anchoredPosition = new Vector2(0, 20);
            closeTransform.anchorMin        = new Vector2(0.5f, 0);
            closeTransform.anchorMax        = new Vector2(0.5f, 0);
            closeTransform.pivot            = new Vector2(0.5f, 0.5f);

            Button but_close = close.GetComponent <Button>();

            but_close.GetComponent <Image>().sprite = (Sprite)Resources.LoadAll("Close", typeof(Sprite))[0];

            but_close.onClick.AddListener(delegate()
            {
                Delete3DText(root_);
            });

            //up page
            GameObject left = new GameObject("up");

            left.AddComponent <Image>();
            left.AddComponent <Button>();
            left.transform.SetParent(panel);

            RectTransform leftTransform = left.GetComponent <RectTransform>();

            leftTransform.localPosition    = new Vector3(0, 0, 0);
            leftTransform.localScale       = new Vector3(1f, 1f, 1f);
            leftTransform.sizeDelta        = new Vector3(40, 40);
            leftTransform.anchoredPosition = new Vector2(20, 20);
            leftTransform.anchorMin        = new Vector2(0, 0);
            leftTransform.anchorMax        = new Vector2(0, 0);
            leftTransform.pivot            = new Vector2(0.5f, 0.5f);

            Button butt_left = left.GetComponent <Button>();

            butt_left.GetComponent <Image>().sprite = (Sprite)Resources.LoadAll("up", typeof(Sprite))[0];

            butt_left.onClick.AddListener(delegate()
            {
                Transform root = butt_left.transform.parent;
                string uuid    = root.name;
                int curPage    = Text_3Ds[uuid];

                if (curPage <= 1)
                {
                    Debug.Log("Is the first page...");
                    return;
                }

                root.FindChild(string.Format("Page_{0}", curPage)).gameObject.SetActive(false);
                curPage--;
                root.FindChild(string.Format("Page_{0}", curPage)).gameObject.SetActive(true);

                Text_3Ds[uuid] = curPage;
            });

            //down page
            GameObject right = new GameObject("down");

            right.AddComponent <Image>();
            right.AddComponent <Button>();
            right.transform.SetParent(panel);

            RectTransform rightTransform = right.GetComponent <RectTransform>();

            rightTransform.localPosition    = new Vector3(0, 0, 0);
            rightTransform.localScale       = new Vector3(1f, 1f, 1f);
            rightTransform.sizeDelta        = new Vector3(40, 40);
            rightTransform.anchoredPosition = new Vector2(-20, 20);
            rightTransform.anchorMin        = new Vector2(1, 0);
            rightTransform.anchorMax        = new Vector2(1, 0);
            rightTransform.pivot            = new Vector2(0.5f, 0.5f);

            Button butt_right = right.GetComponent <Button>();

            butt_right.GetComponent <Image>().sprite = (Sprite)Resources.LoadAll("down", typeof(Sprite))[0];

            butt_right.onClick.AddListener(delegate()
            {
                Transform root = butt_left.transform.parent;

                string uuid = root.name;
                int curPage = Text_3Ds[uuid];

                Transform temp = null;
                temp           = root.FindChild(string.Format("Page_{0}", curPage + 1));
                if (temp == null)
                {
                    Debug.Log("It's already the last page...");
                    return;
                }

                root.FindChild(string.Format("Page_{0}", curPage)).gameObject.SetActive(false);
                curPage++;
                root.FindChild(string.Format("Page_{0}", curPage)).gameObject.SetActive(true);
                Text_3Ds[uuid] = curPage;
            });

            TogglePaging(root_, false);

            if (!Text_3Ds.ContainsKey(_uuid))
            {
                Text_3Ds.Add(_uuid, 1);
            }

            Uis.Add(_uuid, root_);
            return(root_);
        }