Beispiel #1
0
    //public GameObject componentNameM;
    //public GameObject componentNameR;
    //public GameObject componentNameS;
    //public GameObject componentNameF;
    //长按事件
    //void OnFingerLongPress(int fingerIndex, Vector2 fingerPos){
    //	Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
    //	RaycastHit hitInfo;
    //	if (Physics.Raycast (ray, out hitInfo)) {

    //		string name = hitInfo.transform.name;
    //		if (name.Contains ("[")) {
    //			int startIndex = name.IndexOf ("[");
    //			int endIndex = name.IndexOf ("]");
    //			string ww = name.Substring (startIndex+1,endIndex-startIndex-1);
    //			ComponentWebGL.instance.Dic [ww].SetActive (false);
    //		}
    //	}

    //}
    //手指按下固定
    void OnFingerTap(int fingerIndex, Vector2 fingerPos, int tapCount)
    {
        ////屏蔽UI层的点击
#if (IPHONE || ANDROID || WEBGL)
        if (BaseInputModule.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
#else
        if (EventSystem.current.IsPointerOverGameObject())
#endif
        { return; }
        // chejuCtrl.touch = true;
        string preSelectedObjectName    = "";
        string preSelectedObjectMatName = "";

        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);//从摄像机发出到点击坐标的射线
        RaycastHit hitInfo;

        //if (Physics.Raycast(ray, out hitInfo) && !chejuCtrl.ceJuMode && !UICamera.isOverUI)
        //{
        //    if (hitInfo.collider)
        //    {
        //        objname = hitInfo.transform.name;
        //    if (scene == SceneNmae.Vr)
        //    {
        //    SelectName.text = objname;
        //    }

        //        //回复原对象的材质
        //        if (PreSelectedObject != null)
        //        {
        //            PreSelectedObject.GetComponentInChildren<MeshRenderer>().material = PreSelectedObjectMat;
        //            preSelectedObjectName = PreSelectedObject.name;
        //            preSelectedObjectMatName = PreSelectedObjectMat.name;
        //        }

        //        //远程同步
        //        //objname = "远程调用1";
        //        if (IsLocal == "0")
        //        {
        //            object[] para = new object[4];
        //            para[0] = hitInfo.transform.name;
        //            para[1] = mSelectedMat.name;
        //            para[2] = preSelectedObjectName;
        //            para[3] = preSelectedObjectMatName;

        //        }

        //        PreSelectedObject = hitInfo.transform;
        //        PreSelectedObjectMat = hitInfo.transform.GetComponentInChildren<MeshRenderer>().material;

        //        selectedObj = hitInfo.transform;
        //        //当选择某个对象时,要向显隐模块和进度模块传递数据
        //        jingDu.selectedObj = selectedObj;
        //        xianYing.selectObj = selectedObj;
        //        hitInfo.transform.GetComponentInChildren<MeshRenderer>().material = mSelectedMat;

        //    }
        //}
    }
Beispiel #2
0
    public static int IsPointerOverGameObject(IntPtr l)
    {
        int result;

        try
        {
            BaseInputModule baseInputModule = (BaseInputModule)LuaObject.checkSelf(l);
            int             pointerId;
            LuaObject.checkType(l, 2, out pointerId);
            bool b = baseInputModule.IsPointerOverGameObject(pointerId);
            LuaObject.pushValue(l, true);
            LuaObject.pushValue(l, b);
            result = 2;
        }
        catch (Exception e)
        {
            result = LuaObject.error(l, e);
        }
        return(result);
    }