Пример #1
0
    /// <summary>
    /// 检测是否点击到物体
    /// </summary>
    private void CheckClickItem()
    {
        Ray ray;

        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit))
        {
            if (hit.transform != null)
            {
                if (hit.collider.gameObject.tag.Equals("Device"))
                {
                    Transform go = hit.collider.transform;
                    Debug.Log("点击到的物体名称:" + go.name);
                    string    hitid = GameTools.Instance.GenerateMD5(go.name);
                    ModelInfo info  = go.GetComponent <ModelInfo>();
                    //Debug.Log("是否是新增" + info.SelfData.isAdd);
                    if (info.SelfData.isAdd == 0)
                    {
                        return;//新增时候点击
                    }
                    if (info)
                    {
                        Vector3 campos      = new Vector3(float.Parse(info.SelfData.cameraX), float.Parse(info.SelfData.cameraY), float.Parse(info.SelfData.cameraZ));
                        Vector3 camrotation = new Vector3(float.Parse(info.SelfData.cameraRotateX), float.Parse(info.SelfData.cameraRotateY), float.Parse(info.SelfData.cameraRotateZ));
                        MessageManager.Instance.SendMessageEventNow("RecvLocateGameObject", hitid, false, campos, camrotation, 0, false);
                    }
                    else
                    {
                        MessageManager.Instance.SendMessageEventNow("RecvLocateGameObject", hitid, true, Vector3.zero, Vector3.zero, 0, false);
                    }

                    #region 给js发送消息
                    SendJsonData sjd = new SendJsonData();
                    sjd.cmd = (int)U3DSENGTOJSMSG.CLICKMODEL;
                    sjd.id  = hitid;
                    JsonData sendjson    = JsonMapper.ToJson(sjd);
                    string   sendjsonStr = sendjson.ToString();
                    ReadJavaInterface.Hello(sendjsonStr);
                    #endregion
                }
                if (hit.collider.gameObject.tag.Equals("Sensor"))
                {
                    Transform go   = hit.collider.transform;
                    ModelInfo info = go.GetComponentInParent <ModelInfo>();

                    #region 给js发送消息
                    SendJsonData sjd = new SendJsonData();
                    sjd.cmd = (int)U3DSENGTOJSMSG.CLICKMODEL;
                    sjd.id  = info.SelfData.modelid;
                    JsonData sendjson    = JsonMapper.ToJson(sjd);
                    string   sendjsonStr = sendjson.ToString();
                    ReadJavaInterface.Hello(sendjsonStr);
                    #endregion
                }
            }
        }
    }
Пример #2
0
    /// <summary>
    /// 保存模型信息
    /// </summary>
    private void SaveModeolInfo(string key, params object[] arms)
    {
        ModelInfo mi = m_CurAddGameObject.GetComponent <ModelInfo>();

        mi.SavaModeInfo();
        string allmodeldata = JsonMapper.ToJson(mi.SelfData).ToString();

        //Debug.Log("当前选中物体名字:" + m_CurAddGameObject + allmodeldata + "发送给JS");
        ReadJavaInterface.Hello(allmodeldata);
    }
Пример #3
0
    private void CallBack(Scene id, LoadSceneMode lod)
    {
        LoadComplete lc = new LoadComplete();

        lc.cmd = (int)U3DSENGTOJSMSG.SCENELOADED;
        JsonData jd = JsonMapper.ToJson(lc);

        Debug.Log("场景加载成功" + jd.ToString());
        ReadJavaInterface.Hello(jd.ToString());
    }
Пример #4
0
    /// <summary>
    /// 编辑结束
    /// </summary>
    private void EndEdit(string key, params object[] parms)
    {
        string id = parms[0].ToString();

        Debug.Log(id + " " + GameTools.Instance.GenerateMD5(m_CurSelectObj.name) + "是否一致");
        DrawCollider dc = m_CurSelectObj.GetComponent <DrawCollider>();

        if (dc)
        {
            dc.enabled = false;
        }
        BoxCollider bc = m_CurSelectObj.GetComponent <BoxCollider>();

        if (bc)
        {
            Transform     cam  = Camera.main.transform;
            ModelInfoData data = new ModelInfoData();
            data.cmd             = (int)U3DSENGTOJSMSG.SENDOBJECTDATA;
            data.modelid         = id;
            data.colliderCenterX = bc.center.x.ToString();
            data.colliderCenterY = bc.center.y.ToString();
            data.colliderCenterZ = bc.center.z.ToString();
            data.colliderSizeX   = bc.size.x.ToString();
            data.colliderSizeY   = bc.size.y.ToString();
            data.colliderSizeZ   = bc.size.z.ToString();
            data.cameraX         = cam.position.x.ToString();
            data.cameraY         = cam.position.y.ToString();
            data.cameraZ         = cam.position.z.ToString();
            data.cameraRotateX   = cam.eulerAngles.x.ToString();
            data.cameraRotateY   = cam.eulerAngles.y.ToString();
            data.cameraRotateZ   = cam.eulerAngles.z.ToString();
            data.originalColor   = "";
            data.selectedColor   = GameTools.Instance.ColorToHex(Color.yellow);
            data.alarmColor      = GameTools.Instance.ColorToHex(Color.red);
            JsonData jd      = JsonMapper.ToJson(data);
            string   strJSon = jd.ToString();
            ReadJavaInterface.Hello(strJSon);
        }
        else
        {
            Debug.Log(m_CurSelectObj + "没有collider,10011没有返回");
        }
    }