/// <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 } } } }
/// <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); }
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()); }
/// <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没有返回"); } }